考勤修改 审核流程修改
This commit is contained in:
parent
de0c0e02b8
commit
d9edbae9ff
|
|
@ -148,7 +148,8 @@ public class AttendanceDetailsController extends BaseController {
|
|||
@Log(title = "考勤报表->考勤明细->考勤修改", businessType = BusinessType.UPDATE)
|
||||
public AjaxResult edit(@RequestBody List<AttDataDetailsBean> list) {
|
||||
try{
|
||||
return toAjax(attendanceDetailsService.updateAttDetailsData(list));
|
||||
// return toAjax(attendanceDetailsService.updateAttDetailsData(list));
|
||||
return attendanceDetailsService.updateAttDetailsData(list);
|
||||
}catch (Exception e){
|
||||
log.error(e.toString(),e);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -116,4 +116,13 @@ public interface AttendanceDetailsDao {
|
|||
* @date 2025/2/18 15:59
|
||||
*/
|
||||
List<AttClockingRecordVo> getClockingRecordListByUserId(AttMonthReportBean bean);
|
||||
|
||||
/**
|
||||
* 查询考勤修改的审核状态
|
||||
* @param bean
|
||||
* @return List<Map<String,Object>>
|
||||
* @author cwchen
|
||||
* @date 2025/2/19 18:16
|
||||
*/
|
||||
Integer getAuditStatus(AttDataDetailsBean bean);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -238,6 +238,22 @@ public class AttDataDetailsBean {
|
|||
private String attendType;
|
||||
private String attStatusToday;
|
||||
|
||||
/**人资审核ID*/
|
||||
private Long hrAuditId;
|
||||
/**人资审核时间*/
|
||||
private String hrAuditTime;
|
||||
/**人资审核状态*/
|
||||
private String hrAuditStatus;
|
||||
/**部门负责人审核ID*/
|
||||
private Long managerAuditId;
|
||||
/**部门负责人审核时间*/
|
||||
private String managerAuditTime;
|
||||
/**部门负责人审核状态*/
|
||||
private String managerAuditStatus;
|
||||
|
||||
/**当前审核状态*/
|
||||
private Integer currentAuditStatus;
|
||||
|
||||
/**上班附件/下班附件*/
|
||||
private List<FilesVo> filesVoList;
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public interface AttendanceDetailsService {
|
|||
* @param list list bean
|
||||
* @return 1|0
|
||||
*/
|
||||
int updateAttDetailsData(List<AttDataDetailsBean> list);
|
||||
AjaxResult updateAttDetailsData(List<AttDataDetailsBean> list);
|
||||
|
||||
/**
|
||||
* 审核考勤
|
||||
|
|
|
|||
|
|
@ -79,9 +79,14 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public int updateAttDetailsData(List<AttDataDetailsBean> list) {
|
||||
public AjaxResult updateAttDetailsData(List<AttDataDetailsBean> list) {
|
||||
// 判断考勤修改的数据是否有处于人资审核中,如果只是处于部门领导审核中则可以修改
|
||||
|
||||
for (AttDataDetailsBean attDataDetailsBean : list) {
|
||||
Integer auditStatus = attendanceDetailsDao.getAuditStatus(attDataDetailsBean);
|
||||
if (Objects.equals(3, auditStatus)) {
|
||||
return AjaxResult.error("姓名:"+attDataDetailsBean.getUserName() + "修改的考勤数据处于人资审核中,请等待审核完成后再修改");
|
||||
}
|
||||
}
|
||||
int i = attendanceDetailsDao.updateAttDetailsData(list);
|
||||
fileUploadService.saveAttUpdateFileSource(list);
|
||||
if (i > 0) {
|
||||
|
|
@ -108,7 +113,7 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
|
|||
noticeService.insertNotice(bean);
|
||||
}
|
||||
}
|
||||
return i;
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -118,9 +123,27 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
|
|||
list.forEach(c -> {
|
||||
c.setReviewerUserId(userId);
|
||||
c.setReviewerTime(time);
|
||||
Integer auditStatus = attendanceDetailsDao.getAuditStatus(c);
|
||||
c.setCurrentAuditStatus(auditStatus);
|
||||
if(Objects.equals(auditStatus,0)){ // 部门负责人审核
|
||||
c.setManagerAuditTime(time);
|
||||
c.setManagerAuditId(userId);
|
||||
c.setManagerAuditStatus(c.getReviewerStatus());
|
||||
if(Objects.equals(c.getReviewerStatus(),"1")){ // 审批通过流转到人资专员审核
|
||||
c.setHrAuditStatus("0");
|
||||
c.setReviewerStatus("3");
|
||||
}else if(Objects.equals(c.getReviewerStatus(),"2")){ // 审批驳回
|
||||
c.setReviewerStatus(c.getReviewerStatus());
|
||||
}
|
||||
}else if(Objects.equals(auditStatus,3)){ // 人资审核
|
||||
c.setHrAuditTime(time);
|
||||
c.setHrAuditId(userId);
|
||||
c.setHrAuditStatus(c.getReviewerStatus());
|
||||
}
|
||||
});
|
||||
int i = attendanceDetailsDao.updateAttDetailsDataExamine(list);
|
||||
if(i>0){
|
||||
// todo 更新月报表和日报表
|
||||
if (i > 0) {
|
||||
Set<String> keys = new HashSet<>();
|
||||
for (AttDataDetailsBean attDataDetailsBean : list) {
|
||||
keys.add(attDataDetailsBean.getAttCurrentDay());
|
||||
|
|
@ -228,8 +251,8 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
|
|||
.collect(Collectors.toList());
|
||||
attTasks.hisAttPush(dateList);
|
||||
return AjaxResult.success("数据同步成功");
|
||||
}catch (Exception e){
|
||||
log.error(e.toString(),e);
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
return AjaxResult.error("数据同步失败");
|
||||
}
|
||||
}
|
||||
|
|
@ -288,7 +311,7 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
|
|||
try {
|
||||
list = attendanceDetailsDao.getClockingRecordListByUserId(bean);
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(),e);
|
||||
log.error(e.toString(), e);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -501,17 +501,23 @@
|
|||
FROM att_source_data
|
||||
WHERE name = #{userName} AND DATE_FORMAT(att_current_day,'%Y-%m') = #{month} AND is_active = '1'
|
||||
</select>
|
||||
<!--查询考勤修改的审核状态-->
|
||||
<select id="getAuditStatus" resultType="java.lang.Integer">
|
||||
SELECT reviewer_status
|
||||
FROM att_data_update
|
||||
WHERE user_id = #{userId} AND att_current_day = #{attCurrentDay} AND org_id = #{orgId} LIMIT 1
|
||||
</select>
|
||||
|
||||
<update id="updateAttDetailsData">
|
||||
<foreach collection="list" item="params" separator=";">
|
||||
update att_data_update set update_att_current_time = #{params.toWorkAttCurrentTime},
|
||||
update_att_status = #{params.toWorkAttStatus}, reviewer_status = 0, is_update = 1,
|
||||
update_att_status = #{params.toWorkAttStatus}, reviewer_status = 0, is_update = 1,manager_audit_status = 0,
|
||||
reason_content = #{params.toErrorRemake}
|
||||
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 1
|
||||
and att_current_day = #{params.attCurrentDay};
|
||||
|
||||
update att_data_update set update_att_current_time = #{params.offWorkAttCurrentTime},
|
||||
update_att_status = #{params.offWorkAttStatus}, reviewer_status = 0, is_update = 1,
|
||||
update_att_status = #{params.offWorkAttStatus}, reviewer_status = 0, is_update = 1,manager_audit_status = 0,
|
||||
reason_content = #{params.offErrorRemake}
|
||||
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 2
|
||||
and att_current_day = #{params.attCurrentDay}
|
||||
|
|
@ -520,15 +526,32 @@
|
|||
|
||||
<update id="updateAttDetailsDataExamine">
|
||||
<foreach collection="list" item="params" separator=";">
|
||||
update att_data_update set reviewer_status = #{params.reviewerStatus},
|
||||
reviewer_user_id = #{params.reviewerUserId}, reviewer_time = #{params.reviewerTime}
|
||||
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 1
|
||||
and att_current_day = #{params.attCurrentDay};
|
||||
<if test="currentAuditStatus == 0">
|
||||
update att_data_update set reviewer_status = #{params.reviewerStatus},
|
||||
manager_audit_id = #{params.managerAuditId}, manager_audit_time = #{params.managerAuditTime},
|
||||
manager_audit_status = #{params.managerAuditStatus}
|
||||
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 1
|
||||
and att_current_day = #{params.attCurrentDay};
|
||||
|
||||
update att_data_update set reviewer_status = #{params.reviewerStatus},
|
||||
reviewer_user_id = #{params.reviewerUserId}, reviewer_time = #{params.reviewerTime}
|
||||
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 2
|
||||
and att_current_day = #{params.attCurrentDay}
|
||||
update att_data_update set reviewer_status = #{params.reviewerStatus},
|
||||
manager_audit_id = #{params.managerAuditId}, manager_audit_time = #{params.managerAuditTime},
|
||||
manager_audit_status = #{params.managerAuditStatus}
|
||||
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 2
|
||||
and att_current_day = #{params.attCurrentDay}
|
||||
</if>
|
||||
<if test="currentAuditStatus == 3">
|
||||
update att_data_update set reviewer_status = #{params.reviewerStatus},
|
||||
hr_audit_id = #{params.hrAuditId}, hr_audit_time = #{params.hrAuditTime},
|
||||
hr_audit_status = #{params.hrAuditStatus}
|
||||
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 1
|
||||
and att_current_day = #{params.attCurrentDay};
|
||||
|
||||
update att_data_update set reviewer_status = #{params.reviewerStatus},
|
||||
hr_audit_id = #{params.hrAuditId}, hr_audit_time = #{params.hrAuditTime},
|
||||
hr_audit_status = #{params.hrAuditStatus}
|
||||
where user_id = #{params.userId} and org_id = #{params.orgId} and att_type = 2
|
||||
and att_current_day = #{params.attCurrentDay}
|
||||
</if>
|
||||
</foreach>
|
||||
</update>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue