svn commit: r609858 - /ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/EditWeekTimesheet.bsh

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r609858 - /ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/EditWeekTimesheet.bsh

hansbak-2
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),