Skip to content
Snippets Groups Projects
Commit 6a162e80 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

finishing visits for dead and resigned people added

parent 14eccd59
No related branches found
No related tags found
1 merge request!5Appointments dev
......@@ -81,6 +81,9 @@ public class AppointmentDao {
for (AppointmentEntry appointmentEntry : list) {
if (appointmentEntry.getTypes().contains(AppointmentType.LEVEL_AQUEST) || appointmentEntry.getTypes().contains(AppointmentType.LEVEL_A_TQ)) {
if (currentVisit.getAppointments().size() > 0) {
if (shouldBeFinished(currentVisit.getEndDate())) {
currentVisit.setFinished(true);
}
result.add(currentVisit);
}
......@@ -100,8 +103,11 @@ public class AppointmentDao {
if (currentVisit.getAppointments().size() > 0) {
result.add(currentVisit);
}
if (shouldBeFinished(currentVisit.getEndDate()) && !subject.isDead() && !subject.isResigned()) {
result.add(createNextVisit(currentVisit));
if (shouldBeFinished(currentVisit.getEndDate())) {
currentVisit.setFinished(true);
if (!subject.isDead() && !subject.isResigned()) {
result.add(createNextVisit(currentVisit));
}
}
return result;
}
......@@ -109,7 +115,7 @@ public class AppointmentDao {
protected Visit createNextVisit(Visit currentVisit) throws ParseException {
Visit visit = new Visit(currentVisit.getSubject());
Calendar date = Calendar.getInstance();
String dateStr =currentVisit.getStartDate();
String dateStr = currentVisit.getStartDate();
date.setTime(DATE_FORMATTER.parse(dateStr));
if (currentVisit.getSubject().getType().equals(SubjectType.CONTROL)) {
date.add(Calendar.YEAR, 4);
......
......@@ -97,13 +97,7 @@ public class Main {
List<Visit> visits = appointmentDao.getVisits();
for (int i = 0; i < visits.size(); i++) {
Visit visit = visits.get(i);
boolean finished = false;
if (i < visits.size() - 1) {
if (visit.getSubject().equals(visits.get(i + 1).getSubject())) {
finished = true;
}
}
System.out.println(visitSqlExporter.toSql(visit, finished));
System.out.println(visitSqlExporter.toSql(visit));
}
} catch (ParseException exp) {
......
......@@ -11,7 +11,7 @@ import org.apache.log4j.Logger;
public class Visit {
static Subject UNKNOWN;
static {
UNKNOWN = new Subject("NOBODY","","","---");
UNKNOWN = new Subject("NOBODY", "", "", "---");
UNKNOWN.setType(SubjectType.CONTROL);
UNKNOWN.setAddDate("1900-01-01");
UNKNOWN.setAddress("");
......@@ -28,11 +28,12 @@ public class Visit {
private Subject subject;
private List<AppointmentEntry> appointments = new ArrayList<>();
private String startDate;
private String startDate;
private boolean finished = false;
public Visit(Subject subject) {
if (subject==null) {
if (subject == null) {
subject = UNKNOWN;
}
this.subject = subject;
......@@ -77,7 +78,7 @@ public class Visit {
public String getStartDate() {
if (appointments.size() > 0) {
return appointments.get(0).getDay().substring(0, 10);
} else if (startDate==null){
} else if (startDate == null) {
return "1900-01-01";
} else {
return startDate;
......@@ -114,4 +115,20 @@ public class Visit {
this.startDate = newDate;
}
/**
* @return the finished
* @see #finished
*/
public boolean isFinished() {
return finished;
}
/**
* @param finished the finished to set
* @see #finished
*/
public void setFinished(boolean finished) {
this.finished = finished;
}
}
......@@ -5,7 +5,7 @@ import java.util.Calendar;
public class VisitSqlExporter extends SqlExporter {
AppointmentSqlExporter appointmentSqlExporter = new AppointmentSqlExporter();
public String toSql(Visit visit, boolean isFinished) throws ParseException {
public String toSql(Visit visit) throws ParseException {
StringBuilder result = new StringBuilder("");
result.append("insert into web_visit (");
......@@ -18,7 +18,7 @@ public class VisitSqlExporter extends SqlExporter {
result.append("(SELECT id from web_subject where screening_number = "+getStringVal(visit.getSubject().getScreeningNumber()) + "),");
result.append(getStringVal(visit.getStartDate()) + ",");
result.append(getStringVal(visit.getEndDate()) + ",");
result.append(isFinished);
result.append(visit.isFinished());
result.append(");\n");
for (AppointmentEntry entry: visit.getAppointments()) {
result.append(appointmentSqlExporter.toSql(entry)+"\n");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment