处理请假的幂等问题
This commit is contained in:
parent
4046a07ca7
commit
9de61513b7
@ -120,6 +120,11 @@ public class ApproveStatusLeaveExchangeProcessor implements AttendanceApproveSta
|
||||
// }
|
||||
rzLeaveDetail.setRemarks("钉钉"+tag);
|
||||
rzLeaveDetail.setProcessInstanceId(processInstanceId);
|
||||
//没查到原因, 一直出现多个数据, 做个幂等数据处理
|
||||
if(getIRzLeaveDetailService().checkExistsRzLeaveDetail(rzLeaveDetail).compareTo(0l)>0){
|
||||
log.error("当前请假信息已经记录, 不需要继续进行持久化");
|
||||
return;
|
||||
}
|
||||
getIRzLeaveDetailService().insertRzLeaveDetail(rzLeaveDetail);
|
||||
}
|
||||
}
|
||||
|
||||
@ -120,10 +120,6 @@ public class MonthlySalaryStrategyExchangeProcessor implements SalaryCalculation
|
||||
// rzSalaryDetail.setMonthSalary(rzSalaryDetail.getMonthSalary().add(gs));
|
||||
rzSalaryDetail.setBjAmount(gs);
|
||||
}
|
||||
if(sysStaff.getName().equals("史国臣")){
|
||||
System.out.println("11111");
|
||||
}
|
||||
|
||||
BigDecimal basic = new BigDecimal("0");
|
||||
Long basicHour = 0l;
|
||||
for (Long type: ParamUtils.getBasicVacation()) {
|
||||
|
||||
@ -37,6 +37,8 @@ public interface IRzLeaveDetailService
|
||||
*/
|
||||
public AjaxResult insertRzLeaveDetail(RzLeaveDetail rzLeaveDetail);
|
||||
|
||||
public Long checkExistsRzLeaveDetail(RzLeaveDetail rzLeaveDetail);
|
||||
|
||||
/**
|
||||
* 修改请假管理详情
|
||||
*
|
||||
|
||||
@ -101,6 +101,11 @@ public class RzLeaveDetailServiceImpl extends ServiceImpl<RzLeaveDetailMapper, R
|
||||
return buildData(String.valueOf(rzLeaveDetail.getType()), rzLeave, rzLeaveDetail, rzLeaveDetail.getLeaveHour(), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long checkExistsRzLeaveDetail(RzLeaveDetail rzLeaveDetail) {
|
||||
return count(new LambdaQueryWrapper<RzLeaveDetail>().select(RzLeaveDetail::getId).eq(RzLeaveDetail::getLeaveId, rzLeaveDetail.getLeaveId()).eq(RzLeaveDetail::getProcessInstanceId, rzLeaveDetail.getProcessInstanceId()));
|
||||
}
|
||||
|
||||
|
||||
public AjaxResult buildData(String type, RzLeave rzLeave, RzLeaveDetail rzLeaveDetail, Integer holidayHour, Boolean isTs){
|
||||
switch (type){
|
||||
|
||||
@ -171,7 +171,6 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
|
||||
}else if(sysStaff.getRegularDate().after(DateUtils.getNowDate())){
|
||||
sysStaff.setStatus(Constants.JOB_STATIS_0);
|
||||
}
|
||||
sysStaff.setStatus(Constants.JOB_STATIS_0);
|
||||
sysStaff.setCreateTime(DateUtils.getNowDate());
|
||||
sysStaff.setCreateBy(SecurityUtils.getUsername());
|
||||
sysStaff.setDelFlag(Constants.DELETE_FLAG_0);
|
||||
@ -403,7 +402,7 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
|
||||
if(sysStaff.getQuitDate().getTime() < DateUtils.getNowDate().getTime()){
|
||||
//记录原始状态
|
||||
String oldStatus = sysStaff.getStatus();
|
||||
sysStaff.setStatus("-1");
|
||||
sysStaff.setStatus(Constants.JOB_STATIS_11);
|
||||
int i = getBaseMapper().updateSysStaff(sysStaff);
|
||||
if(i < 1){
|
||||
return AjaxResult.error();
|
||||
@ -435,6 +434,8 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
|
||||
|
||||
//检查转正日期, 是否初始化为试用期
|
||||
if(sysStaff.getRegularDate().before(DateUtils.getNowDate())){
|
||||
sysStaff.setStatus(Constants.JOB_STATIS_1);
|
||||
}else if(sysStaff.getRegularDate().after(DateUtils.getNowDate())){
|
||||
sysStaff.setStatus(Constants.JOB_STATIS_0);
|
||||
}
|
||||
|
||||
@ -909,7 +910,7 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
|
||||
for (SysStaff sysStaff : params_list) {
|
||||
//判断员工是否离职
|
||||
if(StringUtils.isNotNull(sysStaff.getQuitDate()) && sysStaff.getQuitDate().getTime() < DateUtils.getNowDate().getTime()){
|
||||
sysStaff.setStatus("-1");
|
||||
sysStaff.setStatus(Constants.JOB_STATIS_11);
|
||||
getBaseMapper().updateSysStaff(sysStaff);
|
||||
return;
|
||||
}
|
||||
@ -925,7 +926,7 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
|
||||
|
||||
//if(DateUtils.addMonths(sysStaff.getEmploymentDate(), Integer.valueOf(String.valueOf(sysStaff.getWorkerTerm()))).getTime() < DateUtils.getNowDate().getTime()){
|
||||
if(sysStaff.getRegularDate().before(DateUtils.getNowDate())){
|
||||
sysStaff.setStatus("1");
|
||||
sysStaff.setStatus(Constants.JOB_STATIS_1);
|
||||
}
|
||||
getBaseMapper().updateSysStaff(sysStaff);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user