Commit 00d42bc4 authored by 赵啸非's avatar 赵啸非

添加异常删除级联考勤绩效核查删除

parent 47ff1242
......@@ -16,8 +16,11 @@ import com.mortals.xhx.module.attendance.model.*;
import com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery;
import com.mortals.xhx.module.attendance.model.vo.ErrorSummaryVo;
import com.mortals.xhx.module.attendance.service.*;
import com.mortals.xhx.module.perform.model.PerformAttendRecordEntity;
import com.mortals.xhx.module.perform.model.PerformAttendRecordQuery;
import com.mortals.xhx.module.perform.service.PerformAttendRecordService;
import com.mortals.xhx.module.staff.service.StaffService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -30,6 +33,7 @@ import org.springframework.util.ObjectUtils;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
......@@ -43,6 +47,7 @@ import static com.mortals.xhx.common.key.RedisKey.KEY_ATTENDANCE_STAT_CACHE;
* @date 2023-04-08
*/
@Service("attendanceRecordErrorService")
@Slf4j
public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<AttendanceRecordErrorDao, AttendanceRecordErrorEntity, Long> implements AttendanceRecordErrorService {
@Autowired
......@@ -311,4 +316,23 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At
public List<ErrorSummaryVo> getMonthTop10(AttendanceRecordErrorQuery query) {
return dao.getMonthTop10(query);
}
@Override
protected void removeBefore(Long[] ids, Context context) throws AppException {
//todo 删除考勤绩效中记录信息
AttendanceRecordErrorQuery errorQuery = new AttendanceRecordErrorQuery();
errorQuery.setIdList(Arrays.asList(ids));
List<AttendanceRecordErrorEntity> delErrorList = this.find(errorQuery, context);
for (AttendanceRecordErrorEntity attendanceRecordErrorEntity : delErrorList) {
PerformAttendRecordQuery query = new PerformAttendRecordQuery();
query.setStaffId(attendanceRecordErrorEntity.getStaffId());
query.setErrorTime(attendanceRecordErrorEntity.getErrorDateTime());
List<PerformAttendRecordEntity> delAttendRecords = performAttendRecordService.find(query, context);
if(!ObjectUtils.isEmpty(delAttendRecords)){
Long[] delIds = delAttendRecords.stream().map(i -> i.getId()).toArray(Long[]::new);
performAttendRecordService.remove(delIds, context);
log.info("删除考勤记录成功,size:{}",delIds.length);
}
}
}
}
\ No newline at end of file
......@@ -10,6 +10,7 @@ import com.mortals.xhx.module.attendance.service.AttendanceClassService;
import com.mortals.xhx.module.attendance.service.AttendanceGroupFixedworkService;
import com.mortals.xhx.module.attendance.service.AttendanceGroupService;
import com.mortals.xhx.module.check.model.CheckAttendRecordEntity;
import com.mortals.xhx.module.check.model.CheckAttendRecordQuery;
import com.mortals.xhx.module.check.service.CheckAttendRecordService;
import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.dept.service.DeptService;
......@@ -34,6 +35,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
......@@ -245,12 +247,12 @@ public class PerformAttendRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
query.setRuleId(recordEntity.getRuleId());
PerformAttendRecordEntity performAttendRecordEntity = this.selectOne(query);
if(ObjectUtils.isEmpty(performAttendRecordEntity)){
if (ObjectUtils.isEmpty(performAttendRecordEntity)) {
this.save(recordEntity);
}else{
} else {
log.info("已经存在考勤记录,无需重复添加!");
}
// this.save(recordEntity);
// this.save(recordEntity);
}
private PerformRulesEntity getRule(String ruleCode) {
......@@ -261,4 +263,29 @@ public class PerformAttendRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
return rule;
}
@Override
protected void removeBefore(Long[] ids, Context context) throws AppException {
if (!ObjectUtils.isEmpty(ids)) {
PerformAttendRecordQuery query = new PerformAttendRecordQuery();
query.setIdList(Arrays.asList(ids));
List<PerformAttendRecordEntity> performAttendRecordEntities = this.find(query, context);
if (!ObjectUtils.isEmpty(performAttendRecordEntities)) {
Long[] delIds = performAttendRecordEntities.stream().map(i -> i.getId()).toArray(Long[]::new);
if (!ObjectUtils.isEmpty(delIds)) {
CheckAttendRecordQuery checkAttendRecordQuery = new CheckAttendRecordQuery();
checkAttendRecordQuery.setRecordIdList(Arrays.asList(delIds));
List<CheckAttendRecordEntity> checkAttendRecordEntities = checkAttendRecordService.find(checkAttendRecordQuery, context);
if (!ObjectUtils.isEmpty(checkAttendRecordEntities)) {
Long[] checkIds = checkAttendRecordEntities.stream().map(i -> i.getId()).toArray(Long[]::new);
checkAttendRecordService.remove(checkIds,context);
log.info("删除考勤核查记录成功,size:{}",checkIds.length);
}
}
}
}
}
}
\ No newline at end of file
......@@ -71,7 +71,7 @@ POST {{baseUrl}}/attendance/record/hik/addAttendanceHikRecordCustom
Content-Type: application/json
{
"attendanceDateStart":"2024-03-01",
"attendanceDateStart":"2024-02-01",
"attendanceDateEnd":"2024-03-13"
}
......@@ -107,8 +107,8 @@ Authorization: {{authToken}}
Content-Type: application/json
{
"startTimeStart":"2024-03-04",
"endTimeEnd":"2024-03-05"
"startTimeStart":"2024-01-01",
"endTimeEnd":"2024-02-29"
}
......
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