From: <guy...@us...> - 2003-04-28 02:36:03
|
Update of /cvsroot/outreach/opt/tasks/report In directory sc8-pr-cvs1:/tmp/cvs-serv24280/report Modified Files: ext_timecard.php people_task.php people_time.php time_task.php timecard.php Log Message: Changed cardinality on request-task relationship. Multiple changes to allow for true timesheet accounting based on tasks. Charting as well. Index: ext_timecard.php =================================================================== RCS file: /cvsroot/outreach/opt/tasks/report/ext_timecard.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ext_timecard.php 29 Aug 2002 09:15:06 -0000 1.1 --- ext_timecard.php 28 Apr 2003 02:36:00 -0000 1.2 *************** *** 36,40 **** --- 36,75 ---- startTables(); + $cur_week_end=strtotime("Monday")-1; // Monday - 1 second gives us the end of last week + if (!$week_end) + { // default is this week if not specified by the user + $week_end=$cur_week_end; + } + $next_week_end=date("U",$week_end+60*60*24*7); // end for next period + $prev_week_end=date("U",$week_end-60*60*24*7); // end for next period + ?> + + + <tr> + <td bgcolor='<? echo($OPT_col_md); ?>' align='left'> + + <a href="ext_timecard.php?proj=<?echo($proj);?>&week_end=<?echo($prev_week_end);?>" style="text-decoration:none;font-weight:bold"> + << Previous Week</a> + + <td bgcolor='<? echo($OPT_col_md); ?>' colspan="2" align='center'> + <b><?echo(date("D, M j Y", $prev_week_end+1));?> to <?echo(date("D, M j Y", $prev_week_end+60*60*24*7));?></ + </td> + + <td bgcolor='<? echo($OPT_col_md); ?>' align='right'> + <? if ($next_week_end <= $cur_week_end) { + ?> + <a href="ext_timecard.php?proj=<?echo($proj);?>&week_end=<?echo($next_week_end);?>" style="text-decoration:none;font-weight:bold"> + Next Week>></a> + <? + } else { + ?> + + <? + } + ?> + </td> + </tr> + <? $sql= <<< mysql_query_end select *************** *** 49,70 **** t.id, tph.id, ! DATE_FORMAT(tph.date, '%e %b %Y') as sdate from - person_task as pt, task as t, people as p, task_progress_history as tph where - p.id=pt.personID AND - pt.taskID=t.id AND t.projectID=$proj AND t.active=1 AND ! pt.owner='Y' AND ! tph.taskID=t.id order by name, fdate, sdate ASC mysql_query_end; - $p=-1; $d=""; --- 84,104 ---- t.id, tph.id, ! UNIX_TIMESTAMP(tph.date) as sdate from task as t, people as p, task_progress_history as tph where t.projectID=$proj AND t.active=1 AND ! tph.person=p.id AND ! tph.taskID=t.id AND ! tph.worked > 0 AND ! tph.date <= FROM_UNIXTIME($week_end) AND ! tph.date > FROM_UNIXTIME($prev_week_end) order by name, fdate, sdate ASC mysql_query_end; $p=-1; $d=""; *************** *** 74,78 **** if ($p!=$myrow[0]) { echo("<tr>\n"); ! echo("<th align='center' bgcolor='$OPT_col_dk' colspan=4><b>$myrow[0]</b></th>\n"); echo("</tr><tr>\n"); echo("<th class='regular' bgcolor='$OPT_col_dk'>Date</th>\n"); --- 108,112 ---- if ($p!=$myrow[0]) { echo("<tr>\n"); ! echo("<td align='center' bgcolor='$OPT_col_dk' colspan=4><b>$myrow[0]</b></td>\n"); echo("</tr><tr>\n"); echo("<th class='regular' bgcolor='$OPT_col_dk'>Date</th>\n"); *************** *** 87,91 **** if ($myrow[2]!=$myrow[10]) { if ($myrow[2]=="") { ! $print_date = $myrow[10]; } else { $print_date = $myrow[2]."<br></b><div class=\"small\">(recorded: ".$myrow[10].")</div>"; --- 121,125 ---- if ($myrow[2]!=$myrow[10]) { if ($myrow[2]=="") { ! $print_date = date("l", $myrow[10]); } else { $print_date = $myrow[2]."<br></b><div class=\"small\">(recorded: ".$myrow[10].")</div>"; *************** *** 104,108 **** echo("<td bgcolor='$OPT_col_md' align=left><a title=\"".htmlentities(getvalue("task","TaskDesc",$myrow[8]))."\" class=\"regular\" href=\"../task/?proj=$proj&task=$myrow[8]&action=display\">$myrow[1]</a></td>\n"); echo("<td bgcolor='$OPT_col_md'>$myrow[3] (".(($myrow[4]=="00:00" && $myrow[5]=="00:00")?"No details":$myrow[4]."-".$myrow[5]).")</td>\n"); ! echo("<td bgcolor='$OPT_col_md' width=200 align=left>".($myrow[6]?$myrow[6]:"N/A")."</td>\n"); echo("</tr>\n"); } --- 138,142 ---- echo("<td bgcolor='$OPT_col_md' align=left><a title=\"".htmlentities(getvalue("task","TaskDesc",$myrow[8]))."\" class=\"regular\" href=\"../task/?proj=$proj&task=$myrow[8]&action=display\">$myrow[1]</a></td>\n"); echo("<td bgcolor='$OPT_col_md'>$myrow[3] (".(($myrow[4]=="00:00" && $myrow[5]=="00:00")?"No details":$myrow[4]."-".$myrow[5]).")</td>\n"); ! echo("<td bgcolor='$OPT_col_md' align=left>".($myrow[6]?$myrow[6]:"N/A")."</td>\n"); echo("</tr>\n"); } Index: people_task.php =================================================================== RCS file: /cvsroot/outreach/opt/tasks/report/people_task.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** people_task.php 15 Aug 2002 20:42:07 -0000 1.1.1.1 --- people_task.php 28 Apr 2003 02:36:00 -0000 1.2 *************** *** 19,33 **** <? - function MakeNiceTime($time) - { - if ($time=="") - { - $time="00:00:00"; - } - $timex=explode(":",$time); - $time=$timex[0].":".$timex[1]; - return($time); - } - $proj=abs($proj); --- 19,22 ---- *************** *** 50,62 **** t.PercentComplete from - person_task as pt, task as t, ! people as p where ! p.id=pt.personID AND ! pt.taskID=t.id AND t.projectID=$proj AND ! t.active=1 AND ! pt.owner=\"Y\" order by p.fname, --- 39,50 ---- t.PercentComplete from task as t, ! people as p, ! task_progress_history as tph where ! p.id=tph.person AND ! tph.taskID = t.id AND t.projectID=$proj AND ! t.active=1 order by p.fname, *************** *** 100,113 **** $sql="select sec_to_time(sum(time_to_sec(worked))) from - person_task as pt, task as t, task_progress_history as tph where - pt.taskID=t.id AND t.projectID=$proj AND t.active=1 AND - pt.owner=\"Y\" AND tph.taskID=t.id AND ! pt.personID=$myrow[0]"; $result2=CRM_run_query($sql); list($time)=OPT_fetch_row($result2); --- 88,98 ---- $sql="select sec_to_time(sum(time_to_sec(worked))) from task as t, task_progress_history as tph where t.projectID=$proj AND t.active=1 AND tph.taskID=t.id AND ! tph.person=$myrow[0]"; $result2=CRM_run_query($sql); list($time)=OPT_fetch_row($result2); *************** *** 120,133 **** $sql="select min(tph.date), max(tph.date) from - person_task as pt, task as t, task_progress_history as tph where - pt.taskID=t.id AND t.projectID=$proj AND t.active=1 AND - pt.owner=\"Y\" AND tph.taskID=t.id AND ! pt.personID=$myrow[0]"; $result2=CRM_run_query($sql); list($mindate,$maxdate)=OPT_fetch_row($result2); --- 105,115 ---- $sql="select min(tph.date), max(tph.date) from task as t, task_progress_history as tph where t.projectID=$proj AND t.active=1 AND tph.taskID=t.id AND ! tph.person=$myrow[0]"; $result2=CRM_run_query($sql); list($mindate,$maxdate)=OPT_fetch_row($result2); Index: people_time.php =================================================================== RCS file: /cvsroot/outreach/opt/tasks/report/people_time.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** people_time.php 15 Aug 2002 20:42:07 -0000 1.1.1.1 --- people_time.php 28 Apr 2003 02:36:00 -0000 1.2 *************** *** 19,33 **** <? - function MakeNiceTime($time) - { - if ($time=="") - { - $time="00:00:00"; - } - $timex=explode(":",$time); - $time=$timex[0].":".$timex[1]; - return($time); - } - $proj=abs($proj); --- 19,22 ---- *************** *** 53,66 **** tph.date from - person_task as pt, task as t, people as p, task_progress_history as tph where ! p.id=pt.personID AND ! pt.taskID=t.id AND t.projectID=$proj AND t.active=1 AND - pt.owner=\"Y\" AND tph.taskID=t.id order by --- 42,52 ---- tph.date from task as t, people as p, task_progress_history as tph where ! p.id=tph.person AND t.projectID=$proj AND t.active=1 AND tph.taskID=t.id order by *************** *** 105,118 **** $sql="select min(tph.date), max(tph.date) from - person_task as pt, task as t, task_progress_history as tph where - pt.taskID=t.id AND t.projectID=$proj AND t.active=1 AND - pt.owner=\"Y\" AND tph.taskID=t.id AND ! pt.personID=$myrow[0]"; $result2=CRM_run_query($sql); list($mindate,$maxdate)=OPT_fetch_row($result2); --- 91,101 ---- $sql="select min(tph.date), max(tph.date) from task as t, task_progress_history as tph where t.projectID=$proj AND t.active=1 AND tph.taskID=t.id AND ! tph.person=$myrow[0]"; $result2=CRM_run_query($sql); list($mindate,$maxdate)=OPT_fetch_row($result2); *************** *** 131,144 **** $sql="select sec_to_time(sum(time_to_sec(worked))) from - person_task as pt, task as t, task_progress_history as tph where - pt.taskID=t.id AND t.projectID=$proj AND t.active=1 AND - pt.owner=\"Y\" AND tph.taskID=t.id AND ! pt.personID=$myrow[0]"; $result2=CRM_run_query($sql); list($time)=OPT_fetch_row($result2); --- 114,124 ---- $sql="select sec_to_time(sum(time_to_sec(worked))) from task as t, task_progress_history as tph where t.projectID=$proj AND t.active=1 AND tph.taskID=t.id AND ! tph.person=$myrow[0]"; $result2=CRM_run_query($sql); list($time)=OPT_fetch_row($result2); Index: time_task.php =================================================================== RCS file: /cvsroot/outreach/opt/tasks/report/time_task.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** time_task.php 15 Aug 2002 20:42:07 -0000 1.1.1.1 --- time_task.php 28 Apr 2003 02:36:00 -0000 1.2 *************** *** 19,33 **** <? - function MakeNiceTime($time) - { - if ($time=="") - { - $time="00:00:00"; - } - $timex=explode(":",$time); - $time=$timex[0].":".$timex[1]; - return($time); - } - $proj=abs($proj); --- 19,22 ---- *************** *** 53,66 **** tph.date from - person_task as pt, task as t, people as p, task_progress_history as tph where ! p.id=pt.personID AND ! pt.taskID=t.id AND t.projectID=$proj AND t.active=1 AND - pt.owner=\"Y\" AND tph.taskID=t.id order by --- 42,52 ---- tph.date from task as t, people as p, task_progress_history as tph where ! p.id=tph.person AND t.projectID=$proj AND t.active=1 AND tph.taskID=t.id order by *************** *** 95,108 **** $sql="select min(tph.date), max(tph.date) from - person_task as pt, task as t, task_progress_history as tph where - pt.taskID=t.id AND t.projectID=$proj AND t.active=1 AND - pt.owner=\"Y\" AND tph.taskID=t.id AND ! pt.personID=$myrow[0]"; $result2=CRM_run_query($sql); echo("$prevdate - ".($prevdate=niceDate("people",$myrow[7],$myrow[0]))); --- 81,91 ---- $sql="select min(tph.date), max(tph.date) from task as t, task_progress_history as tph where t.projectID=$proj AND t.active=1 AND tph.taskID=t.id AND ! tph.person=$myrow[0]"; $result2=CRM_run_query($sql); echo("$prevdate - ".($prevdate=niceDate("people",$myrow[7],$myrow[0]))); Index: timecard.php =================================================================== RCS file: /cvsroot/outreach/opt/tasks/report/timecard.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** timecard.php 15 Aug 2002 20:42:07 -0000 1.1.1.1 --- timecard.php 28 Apr 2003 02:36:00 -0000 1.2 *************** *** 32,35 **** --- 32,36 ---- exit; } + mainBody("../../images"); make_main_title("Task Report - Timecard","../../images"); *************** *** 37,57 **** startTables(); $sql="select CONCAT(p.fname,' ',p.lname) as name, t.taskName as taskname, ! DATE_FORMAT(tph.date, '%e %b %Y') as tdate, TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(tph.worked))), '%H:%i') from - person_task as pt, task as t, people as p, task_progress_history as tph where - p.id=pt.personID AND - pt.taskID=t.id AND t.projectID=$proj AND t.active=1 AND ! pt.owner='Y' AND ! tph.taskID=t.id group by name, taskname, tdate --- 38,101 ---- startTables(); + $cur_week_end=strtotime("Monday")-1; // Monday - 1 second gives us the end of last week + if (!$week_end) + { // default is this week if not specified by the user + $week_end=$cur_week_end; + } + $next_week_end=date("U",$week_end+60*60*24*7); // end for next period + $prev_week_end=date("U",$week_end-60*60*24*7); // end for next period + ?> + + + <tr> + <td bgcolor='<? echo($OPT_col_md); ?>' align='left'> + + <a href="timecard.php?proj=<?echo($proj);?>&week_end=<?echo($prev_week_end);?>" style="text-decoration:none;font-weight:bold"> + << Previous Week</a> + + <td bgcolor='<? echo($OPT_col_md); ?>' colspan="2" align='center'> + <b><?echo(date("D, M j Y", $prev_week_end+1));?> to <?echo(date("D, M j Y", $prev_week_end+60*60*24*7));?></ + </td> + + <td bgcolor='<? echo($OPT_col_md); ?>' align='right'> + <? if ($next_week_end <= $cur_week_end) { + ?> + <a href="timecard.php?proj=<?echo($proj);?>&week_end=<?echo($next_week_end);?>" style="text-decoration:none;font-weight:bold"> + Next Week>></a> + <? + } else { + ?> + + <? + } + ?> + </td> + </tr> + <? + // Header + echo("<tr>\n"); + echo("<td bgcolor='$OPT_col_dk' align='center'><b>Person</b></td>\n"); + echo("<td bgcolor='$OPT_col_dk' align='center'><b>Task</b></td>\n"); + echo("<td bgcolor='$OPT_col_dk' align='center'><b>Date</b></td>\n"); + echo("<td bgcolor='$OPT_col_dk' align='center'><b>Hours</b></td>\n"); + echo("</tr>\n"); + $sql="select CONCAT(p.fname,' ',p.lname) as name, t.taskName as taskname, ! UNIX_TIMESTAMP(tph.date) as tdate, TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(tph.worked))), '%H:%i') from task as t, people as p, task_progress_history as tph where t.projectID=$proj AND t.active=1 AND ! tph.person=p.id AND ! tph.taskID=t.id AND ! tph.worked > 0 AND ! tph.date <= FROM_UNIXTIME($week_end) AND ! tph.date > FROM_UNIXTIME($prev_week_end) group by name, taskname, tdate *************** *** 63,89 **** while ($myrow=OPT_fetch_row($result)) { ! if (!$beenHere) { ! // Header Line ! echo("<tr>\n"); ! echo("<th>Person</th>\n"); ! echo("<th align=left>Task</th>\n"); ! echo("<th>Date</th>\n"); ! echo("<th>Hours</th>\n"); ! echo("</tr>\n"); ! $beenHere=true; } - echo("<tr>\n"); if ($p!=$myrow[0]) { ! echo("<td align=left><b>$myrow[0]</b></td>\n"); $p = $myrow[0]; } else { ! echo("<td> </td>\n"); } ! echo("<td align=left>$myrow[1]</td>"); ! echo("<td>$myrow[2]</td>"); ! echo("<td>$myrow[3]</td>"); echo("</tr>\n"); } --- 107,132 ---- while ($myrow=OPT_fetch_row($result)) { ! // Alternate colored rows for clumps on each day ! $weekday_name = date("l", intVal($myrow[2])); ! if ($prev_weekday_name != $weekday_name) { ! if ($col_color==$OPT_col_lt) ! $col_color=$OPT_col_md; ! else ! $col_color=$OPT_col_lt; ! $prev_weekday_name=$weekday_name; } echo("<tr>\n"); if ($p!=$myrow[0]) { ! echo("<td bgcolor='$col_color' align=left><a name='$myrow[0]'></a>$myrow[0]</td>\n"); $p = $myrow[0]; + $prev_weekday_name=''; //clear as we have a new person } else { ! echo("<td bgcolor='$col_color'> </td>\n"); } ! echo("<td bgcolor='$col_color' align='left'>$myrow[1]</td>"); ! echo("<td bgcolor='$col_color' align='center'>$weekday_name</td>"); ! echo("<td bgcolor='$col_color' align='center'>$myrow[3]</td>"); echo("</tr>\n"); } |