You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ha...@apache.org on 2008/01/08 04:12:50 UTC
svn commit: r609858 -
/ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/EditWeekTimesheet.bsh
Author: hansbak
Date: Mon Jan 7 19:12:49 2008
New Revision: 609858
URL: http://svn.apache.org/viewvc?rev=609858&view=rev
Log:
error is timesheet duisplay bsh, fixed and optimized the code
Modified:
ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/EditWeekTimesheet.bsh
Modified: ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/EditWeekTimesheet.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/EditWeekTimesheet.bsh?rev=609858&r1=609857&r2=609858&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/EditWeekTimesheet.bsh (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/EditWeekTimesheet.bsh Mon Jan 7 19:12:49 2008
@@ -73,19 +73,17 @@
context.put("weekNumber", UtilDateTime.weekNumber(timesheet.getTimestamp("fromDate")));
entries = new LinkedList();
-timeEntries = timesheet.getRelated("TimeEntry", UtilMisc.toList("workEffortId", "fromDate"));
-te = timeEntries.iterator();
-lastWorkEffortId = null;
entry = FastMap.newInstance();
taskTotal = 0.00;
day0Total = 0.00; day1Total=0.00;day2Total=0.00; day3Total=0.00;day4Total=0.00;day5Total=0.00;day6Total=0.00;
pHours = 0.00;
timeEntry = null;
lastTimeEntry = null;
+lastWorkEffortId = null;
// retrieve work effort data when the workeffortId has changed.
void retrieveWorkEffortData() {
- entry.put("total", taskTotal);
+
// get the planned number of hours
entryWorkEffort = lastTimeEntry.getRelatedOne("WorkEffort");
if (entryWorkEffort != null) {
@@ -100,9 +98,8 @@
}
entry.put("plannedHours", pHours);
- // to be able to set the task to complete
+ // get party assignment data to be able to set the task to complete
workEffortPartyAssigns = EntityUtil.filterByDate(entryWorkEffort.getRelatedByAnd("WorkEffortPartyAssignment", UtilMisc.toMap("partyId", partyId)));
- Debug.logInfo("======== list of assigns:" + workEffortPartyAssigns, "");
if (workEffortPartyAssigns != null) {
workEffortPartyAssign = workEffortPartyAssigns.get(0);
entry.put("fromDate", workEffortPartyAssign.getTimestamp("fromDate"));
@@ -111,14 +108,29 @@
entry.put("checkComplete", "Y");
}
}
+
+ // get project/phase information
+ entry.put("workEffortId", entryWorkEffort.getString("workEffortId"));
+ entry.put("workEffortName", entryWorkEffort.getString("workEffortName"));
+ result = dispatcher.runSync("getProjectIdAndName", UtilMisc.toMap("userLogin", parameters.get("userLogin"),"taskId",entryWorkEffort.getString("workEffortId")));
+ entry.put("phaseId",result.get("phaseId"));
+ entry.put("phaseName",result.get("phaseName"));
+ entry.put("projectId",result.get("projectId"));
+ entry.put("projectName",result.get("projectName"));
+
}
+ entry.put("total", taskTotal);
+ entry.put("timesheetId", timesheet.get("timesheetId"));
entries.add(entry);
+ // start new entry
taskTotal = 0.00;
- entry = UtilMisc.toMap("timesheetId", timesheet.get("timesheetId"));
+ entry = FastMap.newInstance();
}
-
+timeEntries = timesheet.getRelated("TimeEntry", UtilMisc.toList("workEffortId", "fromDate"));
+te = timeEntries.iterator();
while(te.hasNext()) {
+ // only fill lastTimeEntry when not the first time
if (timeEntry!=void) {
lastTimeEntry = timeEntry;
}
@@ -127,16 +139,7 @@
if (lastWorkEffortId != null && !lastWorkEffortId.equals(timeEntry.getString("workEffortId"))) {
retrieveWorkEffortData();
}
- if (UtilValidate.isNotEmpty(timeEntry.get("workEffortId"))) {
- workEffort = timeEntry.getRelatedOne("WorkEffort");
- entry.put("workEffortId", workEffort.getString("workEffortId"));
- entry.put("workEffortName", workEffort.getString("workEffortName"));
- result = dispatcher.runSync("getProjectIdAndName", UtilMisc.toMap("userLogin", parameters.get("userLogin"),"taskId",timeEntry.getString("workEffortId")));
- entry.put("phaseId",result.get("phaseId"));
- entry.put("phaseName",result.get("phaseName"));
- entry.put("projectId",result.get("projectId"));
- entry.put("projectName",result.get("projectName"));
- }
+
entry.put("timesheetId", timesheet.get("timesheetId"));
if (timeEntry.get("hours") != null) {
dayNumber = (timeEntry.get("fromDate").getTime() - timesheet.getTimestamp("fromDate").getTime()) / (24*60*60*1000);
@@ -153,17 +156,20 @@
}
lastWorkEffortId = timeEntry.getString("workEffortId");
}
+
if (lastWorkEffortId != null) {
+ lastTimeEntry = timeEntry;
retrieveWorkEffortData();
- entry.put("plannedHours", pHours);
- entry.put("total", taskTotal);
- entries.add(entry);
}
+
+// add empty lines if timesheet not completed
if (!timesheet.getString("statusId").equals("TIMESHEET_COMPLETED")) {
for (c=0; c < 3; c++) { // add 5 empty lines
entries.add(UtilMisc.toMap("timesheetId", timesheet.get("timesheetId")));
}
}
+
+// add the totals line if at least one entry
if (lastWorkEffortId != null) {
entry = UtilMisc.toMap("timesheetId", timesheet.get("timesheetId"));
entry.put("0", day0Total);
@@ -178,7 +184,7 @@
entries.add(entry);
}
context.put("timeEntries", entries);
-
+
// get all timesheets of this user, including the planned hours
timesheetsDb = delegator.findByAnd("Timesheet",
UtilMisc.toMap("partyId", partyId),