package com.floreantpos.model;
import java.util.Calendar;
import org.apache.commons.logging.LogFactory;
import com.floreantpos.main.Application;
import com.floreantpos.model.base.BaseUser;
import com.floreantpos.model.dao.UserDAO;
public class User extends BaseUser {
private static final long serialVersionUID = 1L;
/*[CONSTRUCTOR MARKER BEGIN]*/
public User () {
super();
}
/**
* Constructor for primary key
*/
public User (java.lang.Integer autoId) {
super(autoId);
}
/**
* Constructor for required fields
*/
public User (
java.lang.Integer autoId,
java.lang.String password,
java.lang.String ssn) {
super (
autoId,
password,
ssn);
}
/*[CONSTRUCTOR MARKER END]*/
public final static String USER_TYPE_MANAGER = "MANAGER";
public final static String USER_TYPE_CASHIER = "CASHIER";
public final static String USER_TYPE_SERVER = "SERVER";
public void doClockIn(Terminal terminal, Shift shift, Calendar currentTime) {
setClockedIn(true);
setCurrentShift(shift);
setCurrentTerminal(terminal);
setLastClockInTime(currentTime.getTime());
LogFactory.getLog(Application.class).info("terminal id befor saving clockIn=" + terminal.getId());
AttendenceHistory attendenceHistory = new AttendenceHistory();
attendenceHistory.setClockInTime(currentTime.getTime());
attendenceHistory.setClockInHour(Short.valueOf((short) currentTime.get(Calendar.HOUR)));
attendenceHistory.setUser(this);
attendenceHistory.setTerminal(terminal);
attendenceHistory.setShift(shift);
UserDAO.getInstance().saveClockIn(this, attendenceHistory, shift, currentTime);
}
public void doClockOut(AttendenceHistory attendenceHistory, Shift shift, Calendar currentTime) {
setClockedIn(false);
setCurrentShift(null);
setCurrentTerminal(null);
setLastClockInTime(null);
attendenceHistory.setClockedOut(true);
attendenceHistory.setClockOutTime(currentTime.getTime());
attendenceHistory.setClockOutHour(Short.valueOf((short) currentTime.get(Calendar.HOUR)));
UserDAO.getInstance().saveClockOut(this, attendenceHistory, shift, currentTime);
}
@Override
public String toString() {
return getFirstName() + " " + getLastName();
}
// public boolean isManager() {
// return USER_TYPE_MANAGER.equals(getUserType());
// }
//
// public boolean isCashier() {
// return USER_TYPE_CASHIER.equals(getUserType());
// }
//
// public boolean isServer() {
// return USER_TYPE_SERVER.equals(getUserType());
// }
}