* @param useCustomer Description of the Parameter
*/
public AccountPeriodTable(JFrame view, int CompId, java.util.Date periodStart,
java.util.Date periodStop, int periodType, int numPeriods, boolean useCustomer) {
//Log.log(Log.DEBUG,this,"AccountPeriodTable="+periodType + ";"+periodStart + ";" +periodStop);
DataConnection dc = DataConnection.getInstance(view);
if (dc == null || !dc.bIsConnectionMade) {
return;
}
Calendar cPeriodStart = Calendar.getInstance();
cPeriodStart.setTime(periodStart);
String periodDescription = "";
Calendar selectStartDate = Calendar.getInstance();
Calendar selectStopDate = Calendar.getInstance();
SimpleDateFormat sd;
if (periodType == PERIOD_ALL || periodType == PERIOD_GIVEN) {
numPeriods = 1;
}
for (int i = 0; i < numPeriods; i++) {
selectStartDate.setTime(periodStart);
selectStopDate.setTime(periodStart);
switch (periodType) {
case PERIOD_DAY:
selectStartDate.add(Calendar.DATE, i);
selectStopDate.add(Calendar.DATE, i);
periodDescription = DateField.ConvertDateToLocalizedString(selectStartDate.getTime());
break;
case PERIOD_WEEK:
selectStartDate.add(Calendar.DATE, i * 7);
selectStopDate.add(Calendar.DATE, ((i + 1) * 7) - 1);
periodDescription = DateField.ConvertDateToLocalizedString(selectStartDate.getTime());
break;
case PERIOD_BIWEEK:
selectStartDate.add(Calendar.DATE, i * 14);
selectStopDate.add(Calendar.DATE, ((i + 1) * 14) - 1);
periodDescription = DateField.ConvertDateToLocalizedString(selectStartDate.getTime());
break;
case PERIOD_MONTH:
selectStartDate.add(Calendar.MONTH, i);
selectStopDate.add(Calendar.MONTH, i + 1);
selectStopDate.add(Calendar.DATE, -1);
sd = new SimpleDateFormat("yyyy.MMM");
periodDescription = sd.format(selectStartDate.getTime());
break;
case PERIOD_BIMONTH:
selectStartDate.add(Calendar.MONTH, i * 2);
selectStopDate.add(Calendar.MONTH, (i * 2) + 2);
selectStopDate.add(Calendar.DATE, -1);
sd = new SimpleDateFormat("yyyy.MMM");
periodDescription = sd.format(selectStartDate.getTime());
break;
case PERIOD_QUARTER:
selectStartDate.add(Calendar.MONTH, i * 3);
selectStopDate.add(Calendar.MONTH, (i * 3) + 3);
selectStopDate.add(Calendar.DATE, -1);
sd = new SimpleDateFormat("yyyy.MMM");
periodDescription = sd.format(selectStartDate.getTime());
break;
case PERIOD_HALFYEAR:
selectStartDate.add(Calendar.MONTH, i * 6);
selectStopDate.add(Calendar.MONTH, (i * 6) + 6);
selectStopDate.add(Calendar.DATE, -1);
sd = new SimpleDateFormat("yyyy.MMM");
periodDescription = sd.format(selectStartDate.getTime());
break;
case PERIOD_YEAR:
selectStartDate.add(Calendar.YEAR, i);
selectStopDate.add(Calendar.YEAR, i + 1);
selectStopDate.add(Calendar.DATE, -1);
sd = new SimpleDateFormat("yyyy");
periodDescription = sd.format(selectStartDate.getTime());
break;
case PERIOD_ALL:
java.sql.Date startDate = GetEarliestDate(CompId);
selectStartDate.setTime(startDate);
java.sql.Date stopDate = GetLatestDate(CompId);
selectStopDate.setTime(stopDate);
periodDescription = DateField.ConvertDateToLocalizedString(selectStartDate.getTime())
+ "<->" + DateField.ConvertDateToLocalizedString(selectStopDate.getTime());
break;
case PERIOD_GIVEN:
selectStartDate.setTime(periodStart);
selectStopDate.setTime(periodStop);
periodDescription = DateField.ConvertDateToLocalizedString(selectStartDate.getTime())
+ "<->" + DateField.ConvertDateToLocalizedString(selectStopDate.getTime());
break;
}
try {
java.sql.Date start = new java.sql.Date(selectStartDate.getTime().getTime());
java.sql.Date stop = new java.sql.Date(selectStopDate.getTime().getTime());
PreparedStatement st = dc.con.prepareStatement(dc.filterSQL(getSelectStatement(CompId, useCustomer)));
st.setDate(1, start);
st.setDate(2, stop);
ResultSet rs = st.executeQuery();
int numRows = 0;