Commit cfe16b69 authored by 赵啸非's avatar 赵啸非

修正异常记录有重复的记录

parent 339f0bf6
...@@ -5,13 +5,19 @@ import java.util.ArrayList; ...@@ -5,13 +5,19 @@ import java.util.ArrayList;
import java.math.BigDecimal; import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import java.util.Date; import java.util.Date;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel; import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordErrorVo; import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordErrorVo;
import lombok.Data; import lombok.Data;
import org.springframework.beans.BeanUtils;
/** /**
* 考勤打卡记录异常信息实体对象 * 考勤打卡记录异常信息实体对象
* *
...@@ -126,16 +132,22 @@ public class AttendanceRecordErrorEntity extends AttendanceRecordErrorVo { ...@@ -126,16 +132,22 @@ public class AttendanceRecordErrorEntity extends AttendanceRecordErrorVo {
private String salaName; private String salaName;
@Override @Override
public int hashCode() { public int hashCode() {
return this.getId().hashCode(); return (this.getStaffId()+this.getProcessStatus()+this.getShiftsId()+this.getErrorDateTime().getTime()+"").hashCode();
} }
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (obj == null) return false; if (obj == null) return false;
if (obj instanceof AttendanceRecordErrorEntity) { if (obj instanceof AttendanceRecordErrorEntity) {
AttendanceRecordErrorEntity tmp = (AttendanceRecordErrorEntity) obj; AttendanceRecordErrorEntity tmp = (AttendanceRecordErrorEntity) obj;
if (this.getId() == tmp.getId()) { /* if (this.getId() == tmp.getId()) {
return true;
}*/
if(this.getStaffId()==tmp.getStaffId()&&this.getProcessStatus()==tmp.getErrorStatus()
&&this.getShiftsId()==tmp.getShiftsId()&&this.getErrorDateTime().getTime()==tmp.getErrorDateTime().getTime()){
return true; return true;
} }
} }
return false; return false;
} }
...@@ -164,4 +176,36 @@ public class AttendanceRecordErrorEntity extends AttendanceRecordErrorVo { ...@@ -164,4 +176,36 @@ public class AttendanceRecordErrorEntity extends AttendanceRecordErrorVo {
this.salaId = null; this.salaId = null;
this.salaName = ""; this.salaName = "";
} }
public static void main(String[] args) {
List<AttendanceRecordErrorEntity> list = new ArrayList<>();
AttendanceRecordErrorEntity entity = new AttendanceRecordErrorEntity();
entity.initAttrValue();
entity.setStaffId(47L);
entity.setProcessStatus(0);
entity.setShiftsId(20L);
entity.setErrorDateTime(DateUtil.parseDateTime("2024-07-12 12:00:00"));
list.add(entity);
AttendanceRecordErrorEntity entity1 = new AttendanceRecordErrorEntity();
BeanUtils.copyProperties(entity,entity1);
entity1.setShiftsId(21L);
// entity1.setErrorDateTime(DateUtil.parseDateTime("2024-07-12 12:00:01"));
list.add(entity1);
System.out.println(JSONObject.toJSONString(list));
List<AttendanceRecordErrorEntity> collect = list.stream().distinct().collect(Collectors.toList());
System.out.println("去重后");
System.out.println(JSON.toJSONString(collect));
}
} }
\ No newline at end of file
...@@ -35,5 +35,4 @@ public class AttendanceRecordErrorVo extends BaseEntityLong { ...@@ -35,5 +35,4 @@ public class AttendanceRecordErrorVo extends BaseEntityLong {
private Integer duration; private Integer duration;
} }
...@@ -508,10 +508,8 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -508,10 +508,8 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
AttendanceRecordErrorQuery errorQuery; AttendanceRecordErrorQuery errorQuery;
if (!ObjectUtils.isEmpty(errorEntityList)) { if (!ObjectUtils.isEmpty(errorEntityList)) {
//过滤异常列表中存在相同的记录 //过滤异常列表中存在相同的记录
errorEntityList= errorEntityList.stream().distinct().collect(Collectors.toList());
for (AttendanceRecordErrorEntity errorEntity : errorEntityList) { for (AttendanceRecordErrorEntity errorEntity : errorEntityList) {
//查看是否存在相同的异常记录,如果存在 则不添加 //查看是否存在相同的异常记录,如果存在 则不添加
......
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