This commit is contained in:
andy 2026-04-06 08:51:00 +08:00
parent 37323443d3
commit a68ae036b6
2 changed files with 14 additions and 6 deletions

View File

@ -4,7 +4,9 @@ import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceResponseBody;
import com.evo.common.constant.Constants;
import com.evo.common.core.domain.entity.SysDictData;
import com.evo.common.utils.DataUtils;
import com.evo.common.utils.StringUtils;
import com.evo.ding.processor.approveStatus.AttendanceApproveStatusChangeExchangeProcessor;
import com.evo.personnelMatters.domain.RzLeave;
@ -15,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -102,6 +105,7 @@ public class ApproveStatusLeaveExchangeProcessor implements AttendanceApproveSta
//获取最后一天
endTime = new Date(approveInfo.getLong("toTime"));
}
RzLeave rzLeave = getIRzLeaveService().selectRzLeaveByUserId(sysStaff.getUserId());
RzLeaveDetail rzLeaveDetail = new RzLeaveDetail();
rzLeaveDetail.setName(sysStaff.getName());
@ -109,7 +113,11 @@ public class ApproveStatusLeaveExchangeProcessor implements AttendanceApproveSta
rzLeaveDetail.setLeaveEndTime(endTime);
rzLeaveDetail.setLeaveId(rzLeave.getId());
rzLeaveDetail.setType(dictCode);
rzLeaveDetail.setLeaveHour(extValueJson.getInteger("durationInHour"));
if("调休".equals(tag)){
rzLeaveDetail.setLeaveHour(new BigDecimal(extValueJson.getDouble("durationInDay")).multiply(Constants.DAY_WORK_HOUR).intValue());
}else{
rzLeaveDetail.setLeaveHour(extValueJson.getInteger("durationInHour"));
}
rzLeaveDetail.setRemarks("钉钉"+tag);
rzLeaveDetail.setProcessInstanceId(processInstanceId);
getIRzLeaveDetailService().insertRzLeaveDetail(rzLeaveDetail);

View File

@ -89,11 +89,11 @@ public class RzLeaveDetailServiceImpl extends ServiceImpl<RzLeaveDetailMapper, R
//根据员工姓名查询
RzLeave rzLeave = rzLeaveMapper.selectRzLeaveById(rzLeaveDetail.getLeaveId());
//验证调休
if(Long.valueOf(55).equals(rzLeaveDetail.getType())){
if(!autoLeavedNumber(rzLeave.getUserId(),rzLeaveDetail.getLeaveStartTime(),rzLeaveDetail.getLeaveHour())){
return AjaxResult.error("当前人员的加班时长不足抵扣调休时长!!");
}
}
// if(Long.valueOf(55).equals(rzLeaveDetail.getType())){
// if(!autoLeavedNumber(rzLeave.getUserId(),rzLeaveDetail.getLeaveStartTime(),rzLeaveDetail.getLeaveHour())){
// return AjaxResult.error("当前人员的加班时长不足抵扣调休时长!!");
// }
// }
rzLeaveDetail.setDelFlag(Constants.DELETE_FLAG_0);
if(getBaseMapper().insert(rzLeaveDetail) < 1){
return AjaxResult.error("请假详情新增失败");