package ru.gazprom.gtnn.minos.entity;
import java.util.Calendar;
import java.util.Date;
import ru.gazprom.gtnn.minos.annotations.TableColumn;
import ru.gazprom.gtnn.minos.annotations.TableName;
@TableName(name = "PersonTable")
public class PersonNode extends BasicNode<Integer> {
@TableColumn
public int personID;
@TableColumn
public String personSurname;
@TableColumn
public String personName;
@TableColumn
public String personPatronymic;
@TableColumn
public String personSex;
@TableColumn
public Date personBirthDate;
//public PositionNode personPosition;
public int personPositionID = 0;
public int personDivisionID = 0;
@Override
public boolean equals(Object obj) {
if(obj == null)
return false;
if(obj == this)
return true;
if(!(obj instanceof PersonNode))
return false;
return (this.personID == ((PersonNode)obj).personID ? true : false);
}
@Override
public int hashCode() {
return personID;
}
@Override
public String toString() {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(personBirthDate != null ? personBirthDate : new Date());
StringBuilder sb = new StringBuilder();
sb.append("[id=").append(personID).append(" ] ").
append("[surname=").append(personSurname).append(" ] ").
append("[name=").append(personName).append(" ] ").
append("[patronymic : ").append(personPatronymic).append(" ] ").
append("[ sex :").append(personSex).append(" ] ").
append("[ birthDate :").append(personBirthDate).append(" ] ").
append("[ Age : ").append(currentDate.get(Calendar.YEAR) - cal1.get(Calendar.YEAR)).append(" ] ").
append("PositionID : ").append(personPositionID).
append("DivisionID : ").append(personDivisionID);
// append("[ Position : ").append(personPosition == null ? " null" : personPosition.positionName).append(" ] ");
return sb.toString();
}
private static Calendar currentDate;
static { // static initialization
currentDate = Calendar.getInstance();
currentDate.setTime(new Date());
}
@Override
public Integer getID() {
return personID;
}
}