Commit 91b441ba authored by 赵啸非's avatar 赵啸非

修改假期重复提交的问题

parent afa3dcc4
......@@ -5,14 +5,14 @@ import com.mortals.xhx.module.attendance.model.AttendanceLeaveRecordEntity;
import com.mortals.xhx.module.attendance.model.AttendanceLeaveRecordQuery;
import java.util.List;
/**
* 请假记录信息Dao
* 请假记录信息 DAO接口
*
* @author zxfei
* @date 2023-04-07
*/
* 请假记录信息Dao
* 请假记录信息 DAO接口
*
* @author zxfei
* @date 2023-04-07
*/
public interface AttendanceLeaveRecordDao extends ICRUDDao<AttendanceLeaveRecordEntity,Long>{
AttendanceLeaveRecordEntity doUpdateRecord(String processInstanceId,AttendanceLeaveRecordEntity leaveRecordEntity);
public interface AttendanceLeaveRecordDao extends ICRUDDao<AttendanceLeaveRecordEntity, Long> {
}
......@@ -8,36 +8,19 @@ import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.attendance.dao.AttendanceLeaveRecordDao;
import com.mortals.xhx.module.attendance.model.AttendanceLeaveRecordEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 请假记录信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-04-07
*/
* 请假记录信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-04-07
*/
@Repository("attendanceLeaveRecordDao")
public class AttendanceLeaveRecordDaoImpl extends BaseCRUDDaoMybatis<AttendanceLeaveRecordEntity,Long> implements AttendanceLeaveRecordDao {
AttendanceLeaveRecordService attendanceLeaveRecordService;
@Override
public AttendanceLeaveRecordEntity doUpdateRecord(String processInstanceId,AttendanceLeaveRecordEntity leaveRecordEntity) {
AttendanceLeaveRecordEntity recordEntity = attendanceLeaveRecordService.selectOne(new AttendanceLeaveRecordQuery().remark(processInstanceId));
if(ObjectUtils.isEmpty(recordEntity)){
leaveRecordEntity.setCreateTime(new Date());
leaveRecordEntity.setCreateUserId(1L);
attendanceLeaveRecordService.save(leaveRecordEntity);
}else{
leaveRecordEntity.setId(recordEntity.getId());
leaveRecordEntity.setUpdateUserId(1L);
leaveRecordEntity.setUpdateTime(new Date());
attendanceLeaveRecordService.update(leaveRecordEntity);
}
return leaveRecordEntity;
}
public class AttendanceLeaveRecordDaoImpl extends BaseCRUDDaoMybatis<AttendanceLeaveRecordEntity, Long> implements AttendanceLeaveRecordDao {
}
package com.mortals.xhx.module.attendance.service.impl;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.common.utils.AttendSummaryThread;
import com.mortals.xhx.module.attendance.model.AttendanceLeaveRecordQuery;
import com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery;
import com.mortals.xhx.module.attendance.service.AttendanceStatService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
......@@ -14,15 +17,17 @@ import com.mortals.xhx.module.attendance.dao.AttendanceLeaveRecordDao;
import com.mortals.xhx.module.attendance.model.AttendanceLeaveRecordEntity;
import com.mortals.xhx.module.attendance.service.AttendanceLeaveRecordService;
import java.util.Date;
import static com.mortals.xhx.common.key.RedisKey.KEY_ATTENDANCE_STAT_CACHE;
/**
* AttendanceLeaveRecordService
* 请假记录信息 service实现
*
* @author zxfei
* @date 2023-04-07
*/
* AttendanceLeaveRecordService
* 请假记录信息 service实现
*
* @author zxfei
* @date 2023-04-07
*/
@Service("attendanceLeaveRecordService")
public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<AttendanceLeaveRecordDao, AttendanceLeaveRecordEntity, Long> implements AttendanceLeaveRecordService {
......@@ -33,18 +38,31 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
@Override
protected void updateAfter(AttendanceLeaveRecordEntity entity, Context context) throws AppException {
super.updateAfter(entity,context);
if(entity.getAuditResult()==1){
super.updateAfter(entity, context);
if (entity.getAuditResult() == 1) {
AttendanceSummaryQuery query = new AttendanceSummaryQuery();
query.setStaffId(entity.getLeavePersonId());
query.setSummaryTimeStart(DateUtils.getStrDate(entity.getStartTime()));
query.setSummaryTimeEnd(DateUtils.getStrDate(entity.getEndTime()));
cacheService.lpush(KEY_ATTENDANCE_STAT_CACHE,query);
cacheService.lpush(KEY_ATTENDANCE_STAT_CACHE, query);
}
}
@Override
public AttendanceLeaveRecordEntity doUpdateRecord(String processInstanceId, AttendanceLeaveRecordEntity leaveRecordEntity) throws Exception {
return dao.doUpdateRecord(processInstanceId,leaveRecordEntity);
public synchronized AttendanceLeaveRecordEntity doUpdateRecord(String processInstanceId, AttendanceLeaveRecordEntity leaveRecordEntity) throws Exception {
AttendanceLeaveRecordEntity recordEntity = this.selectOne(new AttendanceLeaveRecordQuery().remark(processInstanceId));
if (ObjectUtils.isEmpty(recordEntity)) {
leaveRecordEntity.setCreateTime(new Date());
leaveRecordEntity.setCreateUserId(1L);
this.save(leaveRecordEntity);
} else {
leaveRecordEntity.setId(recordEntity.getId());
leaveRecordEntity.setUpdateUserId(1L);
leaveRecordEntity.setUpdateTime(new Date());
this.update(leaveRecordEntity);
}
return leaveRecordEntity;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment