审核流程配置
This commit is contained in:
parent
073b63682b
commit
24422301eb
|
|
@ -164,7 +164,7 @@ public class AttendanceDetailsController extends BaseController {
|
||||||
@Log(title = "考勤报表->考勤明细->考勤修改", businessType = BusinessType.UPDATE)
|
@Log(title = "考勤报表->考勤明细->考勤修改", businessType = BusinessType.UPDATE)
|
||||||
public AjaxResult examine(@RequestBody List<AttDataDetailsBean> list) {
|
public AjaxResult examine(@RequestBody List<AttDataDetailsBean> list) {
|
||||||
try{
|
try{
|
||||||
return toAjax(attendanceDetailsService.updateAttDetailsDataExamine(list));
|
return attendanceDetailsService.updateAttDetailsDataExamine(list);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error(e.toString(),e);
|
log.error(e.toString(),e);
|
||||||
}
|
}
|
||||||
|
|
@ -229,6 +229,11 @@ public class AttendanceDetailsController extends BaseController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(Collections.frequency(roleId, "14") == 1){ // 部门负责人
|
||||||
|
bean.setUserAuditType(1);
|
||||||
|
}else if(Collections.frequency(roleId, "16") == 1){ // 人资专员
|
||||||
|
bean.setUserAuditType(2);
|
||||||
|
}
|
||||||
List<AttDataDetailsBean> attDataDetailsBeans = attendanceDetailsService.selectAttUpdateList(bean);
|
List<AttDataDetailsBean> attDataDetailsBeans = attendanceDetailsService.selectAttUpdateList(bean);
|
||||||
return endPage(attDataDetailsBeans);
|
return endPage(attDataDetailsBeans);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
|
|
|
||||||
|
|
@ -257,6 +257,10 @@ public class AttDataDetailsBean {
|
||||||
/**当前审核状态*/
|
/**当前审核状态*/
|
||||||
private Integer currentAuditStatus;
|
private Integer currentAuditStatus;
|
||||||
|
|
||||||
|
/**1.部门管理员审核状态 2.人资审核状态*/
|
||||||
|
private int userAuditType;
|
||||||
|
/**角色名称ID*/
|
||||||
|
private int roleId;
|
||||||
/**上班附件/下班附件*/
|
/**上班附件/下班附件*/
|
||||||
private List<FilesVo> filesVoList;
|
private List<FilesVo> filesVoList;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ public interface AttendanceDetailsService {
|
||||||
* @param list list bean
|
* @param list list bean
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
int updateAttDetailsDataExamine(List<AttDataDetailsBean> list);
|
AjaxResult updateAttDetailsDataExamine(List<AttDataDetailsBean> list);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取考勤修改列表
|
* 获取考勤修改列表
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,11 @@ import com.bonus.common.core.utils.poi.ExcelUtil;
|
||||||
import com.bonus.common.core.web.domain.AjaxResult;
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.common.security.utils.SecurityUtils;
|
import com.bonus.common.security.utils.SecurityUtils;
|
||||||
import com.bonus.system.api.domain.MapVo;
|
import com.bonus.system.api.domain.MapVo;
|
||||||
|
import com.bonus.system.api.domain.SysUser;
|
||||||
import com.bonus.system.att.dao.AttendanceDetailsDao;
|
import com.bonus.system.att.dao.AttendanceDetailsDao;
|
||||||
import com.bonus.system.att.entity.*;
|
import com.bonus.system.att.entity.*;
|
||||||
import com.bonus.system.att.tasks.NewAttTask;
|
import com.bonus.system.att.tasks.NewAttTask;
|
||||||
|
import com.bonus.system.att.utils.RoleUtil;
|
||||||
import com.bonus.system.basic.domain.SysNotice;
|
import com.bonus.system.basic.domain.SysNotice;
|
||||||
import com.bonus.system.basic.service.SysNoticeService;
|
import com.bonus.system.basic.service.SysNoticeService;
|
||||||
import com.bonus.system.file.service.FileUploadService;
|
import com.bonus.system.file.service.FileUploadService;
|
||||||
|
|
@ -107,15 +109,23 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int updateAttDetailsDataExamine(List<AttDataDetailsBean> list) {
|
public AjaxResult updateAttDetailsDataExamine(List<AttDataDetailsBean> list) {
|
||||||
long userId = SecurityUtils.getLoginUser().getSysUser().getUserId();
|
long userId = SecurityUtils.getLoginUser().getSysUser().getUserId();
|
||||||
|
// 当前登录人的审核权限类型
|
||||||
|
int auditType = RoleUtil.getAuditType();
|
||||||
|
if(auditType == 0){
|
||||||
|
return AjaxResult.error("当前用户无审核权限");
|
||||||
|
}
|
||||||
String time = DateUtils.getTime();
|
String time = DateUtils.getTime();
|
||||||
list.forEach(c -> {
|
for (AttDataDetailsBean c : list) {
|
||||||
c.setReviewerUserId(userId);
|
c.setReviewerUserId(userId);
|
||||||
c.setReviewerTime(time);
|
c.setReviewerTime(time);
|
||||||
Integer auditStatus = attendanceDetailsDao.getAuditStatus(c);
|
Integer auditStatus = attendanceDetailsDao.getAuditStatus(c);
|
||||||
c.setCurrentAuditStatus(auditStatus);
|
c.setCurrentAuditStatus(auditStatus);
|
||||||
if(Objects.equals(auditStatus,0)){ // 部门负责人审核
|
if(Objects.equals(auditStatus,0)){ // 部门负责人审核
|
||||||
|
if(auditType == 2){
|
||||||
|
return AjaxResult.error("当前用户无审核权限");
|
||||||
|
}
|
||||||
c.setManagerAuditTime(time);
|
c.setManagerAuditTime(time);
|
||||||
c.setManagerAuditId(userId);
|
c.setManagerAuditId(userId);
|
||||||
c.setManagerAuditStatus(c.getReviewerStatus());
|
c.setManagerAuditStatus(c.getReviewerStatus());
|
||||||
|
|
@ -126,11 +136,14 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
|
||||||
c.setReviewerStatus(c.getReviewerStatus());
|
c.setReviewerStatus(c.getReviewerStatus());
|
||||||
}
|
}
|
||||||
}else if(Objects.equals(auditStatus,3)){ // 人资审核
|
}else if(Objects.equals(auditStatus,3)){ // 人资审核
|
||||||
|
if(auditType == 1){
|
||||||
|
return AjaxResult.error("当前用户无审核权限");
|
||||||
|
}
|
||||||
c.setHrAuditTime(time);
|
c.setHrAuditTime(time);
|
||||||
c.setHrAuditId(userId);
|
c.setHrAuditId(userId);
|
||||||
c.setHrAuditStatus(c.getReviewerStatus());
|
c.setHrAuditStatus(c.getReviewerStatus());
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
int i = attendanceDetailsDao.updateAttDetailsDataExamine(list);
|
int i = attendanceDetailsDao.updateAttDetailsDataExamine(list);
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
Set<String> keys = new HashSet<>();
|
Set<String> keys = new HashSet<>();
|
||||||
|
|
@ -143,30 +156,17 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
|
||||||
newAttTask.updateMonthReportData(item);
|
newAttTask.updateMonthReportData(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return i;
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<AttDataDetailsBean> selectAttUpdateList(AttDataDetailsBean bean) {
|
public List<AttDataDetailsBean> selectAttUpdateList(AttDataDetailsBean bean) {
|
||||||
//只能查自己分公司的人
|
int currentUserRole = RoleUtil.getCurrentUserRole();
|
||||||
// SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
|
|
||||||
// List<String> roleId = sysUser.getRoleList();
|
|
||||||
// if(roleId !=null && !roleId.isEmpty() ){
|
|
||||||
// if (Collections.frequency(roleId, "1")==0) {
|
|
||||||
// List<MapVo> orgList = SecurityUtils.getLoginUser().getSysUser().getOrgList();
|
|
||||||
// if (!orgList.isEmpty()) {
|
|
||||||
// ArrayList<String> ids = new ArrayList<>();
|
|
||||||
// for (MapVo mapVo : orgList) {
|
|
||||||
// ids.add(String.valueOf(mapVo.getId()));
|
|
||||||
// }
|
|
||||||
// bean.setOrgList(ids);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
List<AttDataDetailsBean> list = attendanceDetailsDao.selectAttUpdateList(bean);
|
List<AttDataDetailsBean> list = attendanceDetailsDao.selectAttUpdateList(bean);
|
||||||
for (AttDataDetailsBean vo : list) {
|
for (AttDataDetailsBean vo : list) {
|
||||||
List<AttDataDetailsBean.FilesVo> filesVoList = fileUploadService.getFiles(vo);
|
List<AttDataDetailsBean.FilesVo> filesVoList = fileUploadService.getFiles(vo);
|
||||||
vo.setFilesVoList(filesVoList);
|
vo.setFilesVoList(filesVoList);
|
||||||
|
vo.setRoleId(currentUserRole);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.bonus.system.att.utils;
|
||||||
|
|
||||||
|
import com.bonus.common.security.utils.SecurityUtils;
|
||||||
|
import com.bonus.system.api.domain.SysUser;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @className:RoleUtil
|
||||||
|
* @author:cwchen
|
||||||
|
* @date:2025-02-21-15:45
|
||||||
|
* @version:1.0
|
||||||
|
* @description:角色工具类
|
||||||
|
*/
|
||||||
|
public class RoleUtil {
|
||||||
|
|
||||||
|
public static int getCurrentUserRole(){
|
||||||
|
SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
|
||||||
|
List<String> rolesId = sysUser.getRoleList();
|
||||||
|
int roleId;
|
||||||
|
if(Collections.frequency(rolesId, "14") == 1){ // 部门负责人
|
||||||
|
roleId = 14;
|
||||||
|
}else if(Collections.frequency(rolesId, "16") == 1){ // 人资专员
|
||||||
|
roleId = 16;
|
||||||
|
}else if(Collections.frequency(rolesId, "1") == 1){ // 管理员
|
||||||
|
roleId = 1;
|
||||||
|
}else { // 其他角色
|
||||||
|
roleId = 0;
|
||||||
|
}
|
||||||
|
return roleId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getAuditType(){
|
||||||
|
int auditType;
|
||||||
|
List<String> roleId = SecurityUtils.getLoginUser().getSysUser().getRoleList();
|
||||||
|
if(Collections.frequency(roleId, "14") == 1){ // 部门负责人
|
||||||
|
auditType = 1;
|
||||||
|
}else if(Collections.frequency(roleId, "16") == 1){ // 人资专员
|
||||||
|
auditType = 2;
|
||||||
|
}else if(Collections.frequency(roleId, "1") == 1){ // 管理员
|
||||||
|
auditType = 3;
|
||||||
|
} else {
|
||||||
|
auditType = 0;
|
||||||
|
}
|
||||||
|
return auditType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -245,6 +245,17 @@
|
||||||
<if test="attStatus != null and attStatus != ''">
|
<if test="attStatus != null and attStatus != ''">
|
||||||
AND v.toWorkAttStatus = #{attStatus} AND v.offWorkAttStatus = #{attStatus}
|
AND v.toWorkAttStatus = #{attStatus} AND v.offWorkAttStatus = #{attStatus}
|
||||||
</if>
|
</if>
|
||||||
|
/*部门负责人*/
|
||||||
|
<if test="userAuditType == 1">
|
||||||
|
AND v.reviewer_status IN ('0','1','2','3')
|
||||||
|
AND v.manager_audit_status IN ('0','1','2')
|
||||||
|
</if>
|
||||||
|
/*人资专员*/
|
||||||
|
<if test="userAuditType == 2">
|
||||||
|
AND v.reviewer_status IN ('1','2','3')
|
||||||
|
AND v.hr_audit_status IN ('0','1','2')
|
||||||
|
AND v.manager_audit_status = '1'
|
||||||
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getAttDayReportList" resultType="com.bonus.system.att.entity.AttDayReportBean">
|
<select id="getAttDayReportList" resultType="com.bonus.system.att.entity.AttDayReportBean">
|
||||||
|
|
@ -532,13 +543,13 @@
|
||||||
<if test="params.currentAuditStatus == 0">
|
<if test="params.currentAuditStatus == 0">
|
||||||
update att_data_update set reviewer_status = #{params.reviewerStatus},
|
update att_data_update set reviewer_status = #{params.reviewerStatus},
|
||||||
manager_audit_id = #{params.managerAuditId}, manager_audit_time = #{params.managerAuditTime},
|
manager_audit_id = #{params.managerAuditId}, manager_audit_time = #{params.managerAuditTime},
|
||||||
manager_audit_status = #{params.managerAuditStatus}
|
manager_audit_status = #{params.managerAuditStatus},hr_audit_status = #{params.hrAuditStatus}
|
||||||
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 1
|
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 1
|
||||||
and att_current_day = #{params.attCurrentDay};
|
and att_current_day = #{params.attCurrentDay};
|
||||||
|
|
||||||
update att_data_update set reviewer_status = #{params.reviewerStatus},
|
update att_data_update set reviewer_status = #{params.reviewerStatus},
|
||||||
manager_audit_id = #{params.managerAuditId}, manager_audit_time = #{params.managerAuditTime},
|
manager_audit_id = #{params.managerAuditId}, manager_audit_time = #{params.managerAuditTime},
|
||||||
manager_audit_status = #{params.managerAuditStatus}
|
manager_audit_status = #{params.managerAuditStatus},hr_audit_status = #{params.hrAuditStatus}
|
||||||
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 2
|
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 2
|
||||||
and att_current_day = #{params.attCurrentDay}
|
and att_current_day = #{params.attCurrentDay}
|
||||||
</if>
|
</if>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue