Java实现考勤夜班记录新增和重复数据更新
以下是一个Java代码示例,用于实现考勤夜班记录的新增和重复数据更新:
import java.util.ArrayList;
import java.util.List;
public class AttendanceNightShift {
private String employeeId;
private String employeeName;
private String date;
private String startTime;
private String endTime;
// 构造函数
public AttendanceNightShift(String employeeId, String employeeName, String date, String startTime, String endTime) {
this.employeeId = employeeId;
this.employeeName = employeeName;
this.date = date;
this.startTime = startTime;
this.endTime = endTime;
}
// 获取员工ID
public String getEmployeeId() {
return employeeId;
}
// 设置员工ID
public void setEmployeeId(String employeeId) {
this.employeeId = employeeId;
}
// 获取员工姓名
public String getEmployeeName() {
return employeeName;
}
// 设置员工姓名
public void setEmployeeName(String employeeName) {
this.employeeName = employeeName;
}
// 获取日期
public String getDate() {
return date;
}
// 设置日期
public void setDate(String date) {
this.date = date;
}
// 获取开始时间
public String getStartTime() {
return startTime;
}
// 设置开始时间
public void setStartTime(String startTime) {
this.startTime = startTime;
}
// 获取结束时间
public String getEndTime() {
return endTime;
}
// 设置结束时间
public void setEndTime(String endTime) {
this.endTime = endTime;
}
// 新增考勤夜班记录
public static void addAttendanceNightShift(List<AttendanceNightShift> attendanceList, AttendanceNightShift attendance) {
attendanceList.add(attendance);
}
// 更新考勤夜班记录
public static void updateAttendanceNightShift(List<AttendanceNightShift> attendanceList, AttendanceNightShift attendance) {
for (AttendanceNightShift a : attendanceList) {
if (a.getEmployeeId().equals(attendance.getEmployeeId()) && a.getDate().equals(attendance.getDate())) {
a.setStartTime(attendance.getStartTime());
a.setEndTime(attendance.getEndTime());
return;
}
}
addAttendanceNightShift(attendanceList, attendance);
}
// 示例代码的主函数
public static void main(String[] args) {
// 创建一个考勤列表
List<AttendanceNightShift> attendanceList = new ArrayList<>();
// 新增一条考勤记录
AttendanceNightShift attendance1 = new AttendanceNightShift('001', '张三', '2022-01-01', '21:00', '06:00');
addAttendanceNightShift(attendanceList, attendance1);
// 再次新增相同的考勤记录,会被忽略
AttendanceNightShift attendance2 = new AttendanceNightShift('001', '张三', '2022-01-01', '21:00', '06:00');
addAttendanceNightShift(attendanceList, attendance2);
// 更新考勤记录
AttendanceNightShift attendance3 = new AttendanceNightShift('001', '张三', '2022-01-01', '22:00', '07:00');
updateAttendanceNightShift(attendanceList, attendance3);
// 再次更新考勤记录,因为已经存在相同的记录,所以只会更新最新的记录
AttendanceNightShift attendance4 = new AttendanceNightShift('001', '张三', '2022-01-01', '23:00', '08:00');
updateAttendanceNightShift(attendanceList, attendance4);
// 输出考勤列表
for (AttendanceNightShift a : attendanceList) {
System.out.println(a.getEmployeeId() + ' ' + a.getEmployeeName() + ' ' + a.getDate() + ' ' + a.getStartTime() + ' ' + a.getEndTime());
}
}
}
在这个示例代码中,我们创建了一个AttendanceNightShift类来表示考勤夜班记录,其中包含员工ID、员工姓名、日期、开始时间和结束时间等属性。我们还定义了两个静态方法:addAttendanceNightShift用于新增考勤记录,updateAttendanceNightShift用于更新考勤记录。在主函数中,我们创建了一个考勤列表,并演示了如何使用这两个方法来新增和更新考勤记录。当我们尝试新增已经存在的记录时,会被忽略;而当我们尝试更新已经存在的记录时,只会更新最新的记录。最后,我们输出了考勤列表,以检查我们的操作是否成功。
这个示例代码展示了如何使用Java代码实现考勤夜班记录的新增和重复数据更新功能。你可以根据实际需要修改代码,例如添加更多的属性或方法,来满足你的具体需求。
原文地址: https://www.cveoy.top/t/topic/naYl 著作权归作者所有。请勿转载和采集!