Changeset 17957
- Timestamp:
- 08/29/08 11:07:18 (3 months ago)
- Files:
-
- trunk/core/db/oracle/create-scripts/versions/8.5.0/prm_db_patch_8.5.0.sql (modified) (1 diff)
- trunk/core/db/oracle/create-scripts/versions/8.5.0/tables/alter_pn_workingtime_calendar.sql (added)
- trunk/core/db/oracle/create-scripts/versions/8.5.0/update_system_properties.sql (modified) (1 diff)
- trunk/core/src/net/project/admin/mvc/AdminController.java (modified) (1 diff)
- trunk/core/src/net/project/calendar/workingtime/IWorkingTimeCalendarProvider.java (modified) (1 diff)
- trunk/core/src/net/project/calendar/workingtime/ScheduleWorkingTimeCalendarProvider.java (modified) (1 diff)
- trunk/core/src/net/project/calendar/workingtime/WorkingTimeCalendarCreateHelper.java (modified) (3 diffs)
- trunk/core/src/net/project/calendar/workingtime/WorkingTimeCalendarFinder.java (modified) (3 diffs)
- trunk/core/src/net/project/calendar/workingtime/WorkingTimeCalendarHelper.java (modified) (3 diffs)
- trunk/core/src/net/project/calendar/workingtime/WorkingTimeCalendarListHelper.java (modified) (1 diff)
- trunk/core/src/net/project/form/assignment/FormAssignment.java (modified) (1 diff)
- trunk/core/src/net/project/hibernate/dao/IPnAssignmentDAO.java (modified) (1 diff)
- trunk/core/src/net/project/hibernate/dao/impl/PnAssignmentDAOImpl.java (modified) (1 diff)
- trunk/core/src/net/project/hibernate/model/PnWorkingtimeCalendar.java (modified) (1 diff)
- trunk/core/src/net/project/hibernate/service/IPnAssignmentService.java (modified) (1 diff)
- trunk/core/src/net/project/hibernate/service/impl/PnAssignmentServiceImpl.java (modified) (1 diff)
- trunk/core/src/net/project/hibernate/service/impl/PnAssignmentWorkServiceImpl.java (modified) (8 diffs)
- trunk/core/src/net/project/resource/ActivityAssignment.java (modified) (1 diff)
- trunk/core/src/net/project/resource/Assignment.java (modified) (2 diffs)
- trunk/core/src/net/project/resource/MeetingAssignment.java (modified) (1 diff)
- trunk/core/src/net/project/resource/ResourceWorkingTimeCalendarProvider.java (modified) (2 diffs)
- trunk/core/src/net/project/resource/ScheduleEntryAssignment.java (modified) (2 diffs)
- trunk/core/src/net/project/resource/SpaceAssignment.java (modified) (1 diff)
- trunk/core/src/net/project/resource/mvc/handler/UpdateAssignmentsHandler.java (modified) (1 diff)
- trunk/core/src/net/project/resource/mvc/handler/UpdateAssignmentsProcessingHandler.java (modified) (4 diffs)
- trunk/core/src/net/project/resource/mvc/handler/WorkChangeHandler.java (modified) (3 diffs)
- trunk/core/src/net/project/schedule/TestWorkingTimeCalendarProvider.java (modified) (3 diffs)
- trunk/core/src/net/project/schedule/mvc/handler/workingtime/WorkingTimeCreateHandler.java (modified) (6 diffs)
- trunk/core/src/net/project/schedule/mvc/handler/workingtime/WorkingTimeEditDateHandler.java (modified) (6 diffs)
- trunk/core/src/net/project/schedule/mvc/handler/workingtime/WorkingTimeEditHandler.java (modified) (10 diffs)
- trunk/core/src/net/project/schedule/mvc/handler/workingtime/WorkingTimeHandler.java (added)
- trunk/core/src/net/project/schedule/mvc/handler/workingtime/WorkingTimeListHandler.java (modified) (4 diffs)
- trunk/core/src/net/project/schedule/mvc/handler/workingtime/WorkingTimeViewHandler.java (modified) (3 diffs)
- trunk/core/web/jsp/personal/Setup.jsp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/core/db/oracle/create-scripts/versions/8.5.0/prm_db_patch_8.5.0.sql
r17951 r17957 38 38 PROMPT Creating PN_PROJECT_SPACE_META_COMBO table 39 39 @versions/8.5.0/tables/cr_pn_project_space_meta_combo.sql 40 COMMIT; 41 42 PROMPT Altering PN_WORKINGTIME_CALENDAR table 43 @versions/8.5.0/tables/alter_pn_workingtime_calendar.sql 40 44 COMMIT; 41 45 trunk/core/db/oracle/create-scripts/versions/8.5.0/update_system_properties.sql
r17955 r17957 104 104 values (2000, 'en', 'text', 'prm.workflow.envelope.abort.label', 'Abort Envelope', 'A', 0, 1, null); 105 105 106 insert into PN_PROPERTY (CONTEXT_ID, LANGUAGE, PROPERTY_TYPE, PROPERTY, PROPERTY_VALUE, RECORD_STATUS, IS_SYSTEM_PROPERTY, IS_TRANSLATABLE_PROPERTY, PROPERTY_VALUE_CLOB) 107 values (2000, 'en', 'text', 'prm.personal.setup.workingtimecalendar.description', 'Specify your working and non-working time.', 'A', 0, 1, null); 108 insert into PN_PROPERTY (CONTEXT_ID, LANGUAGE, PROPERTY_TYPE, PROPERTY, PROPERTY_VALUE, RECORD_STATUS, IS_SYSTEM_PROPERTY, IS_TRANSLATABLE_PROPERTY, PROPERTY_VALUE_CLOB) 109 values (2000, 'en', 'text', 'prm.personal.setup.workingtimecalendar.link', 'Work Calendar', 'A', 0, 1, null); 110 106 111 update pn_property p set 107 112 p.property_value = 'It is after this task''''s deadline of {0}.' trunk/core/src/net/project/admin/mvc/AdminController.java
r16593 r17957 40 40 41 41 //Requisite objects 42 SecurityProvider sp = (SecurityProvider)request.getSession(). 43 getAttribute("securityProvider"); 42 SecurityProvider sp = (SecurityProvider) request.getSession().getAttribute("securityProvider"); 44 43 45 // Handle the request, checking security and doing any operations that44 // Handle the request, checking security and doing any operations that 46 45 //are required. 47 46 Handler handler = AdminHandlerMapping.getHandler(request); 48 handler.validateSecurity(sp.getCheckedModuleID(), sp.getCheckedActionID(), 49 sp.getCheckedObjectID(), request); 47 handler.validateSecurity(sp.getCheckedModuleID(), sp.getCheckedActionID(), sp.getCheckedObjectID(), request); 50 48 Map model = handler.handleRequest(request, response); 51 49 trunk/core/src/net/project/calendar/workingtime/IWorkingTimeCalendarProvider.java
r16593 r17957 57 57 WorkingTimeCalendarDefinition get(String calendarID); 58 58 59 60 /** 61 * Returns the working time calendar definition for the specified work plan ID. 62 * @param planID the ID of the work plan for which the calendar is defined 63 * @return the plan's calendar or null if none is found for the resource 64 * @throws NullPointerException if the specified ID is null 65 */ 66 WorkingTimeCalendarDefinition getForPlanID(String planID); 67 59 68 /** 60 69 * Returns the working time calendar definition for the specified resource person ID. trunk/core/src/net/project/calendar/workingtime/ScheduleWorkingTimeCalendarProvider.java
r15790 r17957 214 214 } 215 215 216 public WorkingTimeCalendarDefinition getForPlanID(String planID) { 217 return getDefault(); 218 } 219 216 220 /** 217 221 * Returns the working time calendar definition for the specified resource person ID. trunk/core/src/net/project/calendar/workingtime/WorkingTimeCalendarCreateHelper.java
r16593 r17957 50 50 * The current schedule. 51 51 */ 52 private final Schedule schedule;52 // private final Schedule schedule; 53 53 54 54 /** … … 87 87 * @param request the request 88 88 */ 89 public WorkingTimeCalendarCreateHelper(HttpServletRequest request ) {90 91 schedule = (Schedule) request.getSession().getAttribute("schedule");92 if (schedule == null) {93 throw new IllegalStateException("Could not find attribute with name 'schedule' in session");94 }89 public WorkingTimeCalendarCreateHelper(HttpServletRequest request, IWorkingTimeCalendarProvider provider) { 90 91 // schedule = (Schedule) request.getSession().getAttribute("schedule"); 92 // if (schedule == null) { 93 // throw new IllegalStateException("Could not find attribute with name 'schedule' in session"); 94 // } 95 95 96 96 User user = (User) request.getSession().getAttribute("user"); … … 102 102 103 103 // Grab the provider for the schedule 104 provider = schedule.getWorkingTimeCalendarProvider(); 104 // provider = schedule.getWorkingTimeCalendarProvider(); 105 this.provider = provider; 105 106 } 106 107 trunk/core/src/net/project/calendar/workingtime/WorkingTimeCalendarFinder.java
r16593 r17957 55 55 "c.record_status, p.display_name as resource_display_name " + 56 56 "from pn_workingtime_calendar c, pn_person p " + 57 "where p.person_id(+) = c.resource_person_id ";57 "where p.person_id(+) = c.resource_person_id and c.record_status = 'A'"; 58 58 59 59 protected String getBaseSQLStatement() { … … 138 138 139 139 addWhereClause("c.plan_id = ? "); 140 addWhereClause("c.record_status = ? ");140 // addWhereClause("c.record_status = ? "); 141 141 142 142 // Create a listener to bind parameters … … 145 145 int index = 0; 146 146 db.pstmt.setString(++index, planID); 147 db.pstmt.setString(++index, RecordStatus.ACTIVE.getID());147 // db.pstmt.setString(++index, RecordStatus.ACTIVE.getID()); 148 148 } 149 149 }; trunk/core/src/net/project/calendar/workingtime/WorkingTimeCalendarHelper.java
r16593 r17957 96 96 * The current schedule. 97 97 */ 98 private final Schedule schedule;98 // private final Schedule schedule; 99 99 100 100 /** … … 130 130 * @throws IllegalArgumentException if the calendar with the specified ID cannot be found 131 131 */ 132 public WorkingTimeCalendarHelper(HttpServletRequest request, String calendarID) {132 public WorkingTimeCalendarHelper(HttpServletRequest request, IWorkingTimeCalendarProvider provider, String calendarID) { 133 133 134 134 if (calendarID == null) { … … 141 141 } 142 142 143 schedule = (Schedule) request.getSession().getAttribute("schedule");144 if (schedule == null) {145 throw new IllegalStateException("Could not find attribute with name 'schedule' in session");146 }143 // schedule = (Schedule) request.getSession().getAttribute("schedule"); 144 // if (schedule == null) { 145 // throw new IllegalStateException("Could not find attribute with name 'schedule' in session"); 146 // } 147 147 148 148 // Grab the provider for the schedule 149 provider = schedule.getWorkingTimeCalendarProvider(); 149 // provider = schedule.getWorkingTimeCalendarProvider(); 150 151 this.provider = provider; 150 152 151 153 WorkingTimeCalendarDefinition calendarDef = provider.get(calendarID); trunk/core/src/net/project/calendar/workingtime/WorkingTimeCalendarListHelper.java
r16593 r17957 95 95 * @throws IllegalStateException if no schedule attribute is found in the session 96 96 */ 97 public WorkingTimeCalendarListHelper(HttpServletRequest request ) {98 99 Schedule schedule = (Schedule) request.getSession().getAttribute("schedule");100 if (schedule == null) {101 throw new IllegalStateException("Could not find attribute with name 'schedule' in session");102 }97 public WorkingTimeCalendarListHelper(HttpServletRequest request, IWorkingTimeCalendarProvider provider) { 98 99 // Schedule schedule = (Schedule) request.getSession().getAttribute("schedule"); 100 // if (schedule == null) { 101 // throw new IllegalStateException("Could not find attribute with name 'schedule' in session"); 102 // } 103 103 104 104 // Grab the provider for the schedule 105 provider = schedule.getWorkingTimeCalendarProvider(); 105 // provider = schedule.getWorkingTimeCalendarProvider(); 106 107 this.provider = provider; 106 108 } 107 109 trunk/core/src/net/project/form/assignment/FormAssignment.java
r17734 r17957 317 317 } 318 318 319 @Override320 protected void populateAssignment(PnAssignment pnAssignment, String timeZoneId) {321 startTime = pnAssignment.getStartDate();322 endTime = pnAssignment.getEndDate();323 estimatedFinish = pnAssignment.getEstimatedFinish();324 work = new TimeQuantity(pnAssignment.getWork(), TimeQuantityUnit.getForID(pnAssignment.getWorkUnits()));325 workComplete = new TimeQuantity(pnAssignment.getWorkComplete(), TimeQuantityUnit.getForID(pnAssignment.getWorkCompleteUnits()));326 }319 // @Override 320 // protected void populateAssignment(PnAssignment pnAssignment, String timeZoneId) { 321 // startTime = pnAssignment.getStartDate(); 322 // endTime = pnAssignment.getEndDate(); 323 // estimatedFinish = pnAssignment.getEstimatedFinish(); 324 // work = new TimeQuantity(pnAssignment.getWork(), TimeQuantityUnit.getForID(pnAssignment.getWorkUnits())); 325 // workComplete = new TimeQuantity(pnAssignment.getWorkComplete(), TimeQuantityUnit.getForID(pnAssignment.getWorkCompleteUnits())); 326 // } 327 327 328 328 public void store() throws PersistenceException { trunk/core/src/net/project/hibernate/dao/IPnAssignmentDAO.java
r17932 r17957 66 66 public List<PnTask> getAssigmentsByProjectAndUser(Integer projectId, Integer userId); 67 67 68 public List<Assignment> getAssigmentsByAssignor(Integer assignorId);68 // public List<Assignment> getAssigmentsByAssignor(Integer assignorId); 69 69 70 70 public List<PnAssignment> getAssignorAssignmentDetails(Integer assignorId); trunk/core/src/net/project/hibernate/dao/impl/PnAssignmentDAOImpl.java
r17956 r17957 622 622 } 623 623 624 public List<Assignment> getAssigmentsByAssignor(Integer assignorId) {625 List<Assignment> assignments = new ArrayList<Assignment>();626 String sql = "SELECT a, p1.displayName, p2.displayName, on1.name, on2.name, o1.pnObjectType.objectType, o2.pnObjectType.objectType, pv.timezoneCode " +627 "FROM PnAssignment a, PnPerson p1, PnPerson p2, PnObjectName on1, PnObjectName on2, PnObject o1, PnObject o2, PnPersonView pv WHERE " +628 "p1.userStatus = 'Active' AND " +629 "p1.personId = a.pnAssignor.personId AND " +630 "a.pnAssignor.personId = :assignorId AND " +631 "p2.userStatus = 'Active' AND " +632 "p2.personId = a.comp_id.personId AND " +633 "pv.personId = p2.personId AND " +634 "on1.objectId = a.comp_id.objectId AND " +635 "on2.objectId = a.comp_id.spaceId AND " +636 "o1.objectId = on2.objectId AND " +637 "o2.objectId = on1.objectId AND " +638 "o1.recordStatus = 'A' AND " +639 "o2.recordStatus = 'A' AND " +640 "a.recordStatus = 'A'";641 try {642 Query query = getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(sql);643 query.setInteger("assignorId", assignorId);644 Iterator results = query.list().iterator();645 while (results.hasNext()) {646 Object[] row = (Object[]) results.next();647 PnAssignment pnAssignment = (PnAssignment) row[0];648 String assignorName = (String) row[1];649 String assigneeName = (String) row[2];650 String objectName = (String) row[3];651 String spaceName = (String) row[4];652 String spaceType = (String) row[5];653 String objectType = (String) row[6];654 String timeZoneId = (String) row[7];655 Assignment assignment = null;656 AssignmentType assignmentType = AssignmentType.forObjectType(spaceType);657 if (assignmentType == null) {658 if (log.isDebugEnabled()){659 log.debug(" AssignmentType.forObjectType returned null !");660 }661 } else {662 assignment = assignmentType.newAssignment();663 assignment.populate(pnAssignment, assignorName, assigneeName, objectName, objectType, spaceName, objectType, timeZoneId);664 assignments.add(assignment);665 }666 667 }668 } catch (Exception e) {669 log.error("Error occured while getting assignments of user from project : " + e.getMessage());670 e.printStackTrace();671 }672 return assignments;673 }674 624 // public List<Assignment> getAssigmentsByAssignor(Integer assignorId) { 625 // List<Assignment> assignments = new ArrayList<Assignment>(); 626 // String sql = "SELECT a, p1.displayName, p2.displayName, on1.name, on2.name, o1.pnObjectType.objectType, o2.pnObjectType.objectType, pv.timezoneCode " + 627 // "FROM PnAssignment a, PnPerson p1, PnPerson p2, PnObjectName on1, PnObjectName on2, PnObject o1, PnObject o2, PnPersonView pv WHERE " + 628 // "p1.userStatus = 'Active' AND " + 629 // "p1.personId = a.pnAssignor.personId AND " + 630 // "a.pnAssignor.personId = :assignorId AND " + 631 // "p2.userStatus = 'Active' AND " + 632 // "p2.personId = a.comp_id.personId AND " + 633 // "pv.personId = p2.personId AND " + 634 // "on1.objectId = a.comp_id.objectId AND " + 635 // "on2.objectId = a.comp_id.spaceId AND " + 636 // "o1.objectId = on2.objectId AND " + 637 // "o2.objectId = on1.objectId AND " + 638 // "o1.recordStatus = 'A' AND " + 639 // "o2.recordStatus = 'A' AND " + 640 // "a.recordStatus = 'A'"; 641 // try { 642 // Query query = getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(sql); 643 // query.setInteger("assignorId", assignorId); 644 // Iterator results = query.list().iterator(); 645 // while (results.hasNext()) { 646 // Object[] row = (Object[]) results.next(); 647 // PnAssignment pnAssignment = (PnAssignment) row[0]; 648 // String assignorName = (String) row[1]; 649 // String assigneeName = (String) row[2]; 650 // String objectName = (String) row[3]; 651 // String spaceName = (String) row[4]; 652 // String spaceType = (String) row[5]; 653 // String objectType = (String) row[6]; 654 // String timeZoneId = (String) row[7]; 655 // Assignment assignment = null; 656 // AssignmentType assignmentType = AssignmentType.forObjectType(spaceType); 657 // if (assignmentType == null) { 658 // if (log.isDebugEnabled()){ 659 // log.debug(" AssignmentType.forObjectType returned null !"); 660 // } 661 // } else { 662 // assignment = assignmentType.newAssignment(); 663 // assignment.populate(pnAssignment, assignorName, assigneeName, objectName, objectType, spaceName, objectType, timeZoneId); 664 // assignments.add(assignment); 665 // } 666 // 667 // } 668 // } catch (Exception e) { 669 // log.error("Error occured while getting assignments of user from project : " + e.getMessage()); 670 // e.printStackTrace(); 671 // } 672 // return assignments; 673 // } 674 // 675 675 public List<PnAssignment> getAssignorAssignmentDetails(Integer assignorId){ 676 676 List<PnAssignment> assignments = new ArrayList<PnAssignment>(); trunk/core/src/net/project/hibernate/model/PnWorkingtimeCalendar.java
r16593 r17957 139 139 140 140 public String toString() { 141 return new ToStringBuilder(this) 142 .append("calendarId", getCalendarId()) 143 .toString(); 141 return new ToStringBuilder(this).append("calendarId", getCalendarId()).toString(); 144 142 } 145 143 trunk/core/src/net/project/hibernate/service/IPnAssignmentService.java
r17956 r17957 57 57 public List<PnTask> getAssigmentsByProjectAndUser(Integer spaceId, Integer userId); 58 58 59 public List<Assignment> getAssigmentsByAssignor(Integer assignorId);59 // public List<Assignment> getAssigmentsByAssignor(Integer assignorId); 60 60 61 61 public Integer getTotalAssignmentCountWithFilters( trunk/core/src/net/project/hibernate/service/impl/PnAssignmentServiceImpl.java
r17956 r17957 668 668 } 669 669 670 public List<Assignment> getAssigmentsByAssignor(Integer assignorId) {671 return pnAssignmentDAO.getAssigmentsByAssignor(assignorId);672 }670 // public List<Assignment> getAssigmentsByAssignor(Integer assignorId) { 671 // return pnAssignmentDAO.getAssigmentsByAssignor(assignorId); 672 // } 673 673 674 674 public List<PnAssignment> getAssignorAssignmentDetails(Integer assignorId){ trunk/core/src/net/project/hibernate/service/impl/PnAssignmentWorkServiceImpl.java
r17931 r17957 23 23 import javax.servlet.http.HttpSession; 24 24 25 import org.apache.commons.collections.MultiHashMap;26 import org.apache.commons.collections.MultiMap;27 import org.apache.log4j.Logger;28 29 25 import net.project.base.Module; 30 26 import net.project.base.ObjectType; … … 34 30 import net.project.base.finder.TextComparator; 35 31 import net.project.base.finder.TextFilter; 36 import net.project.base.mvc.AbstractJavaScriptView;37 32 import net.project.base.property.PropertyProvider; 38 33 import net.project.calendar.PnCalendar; … … 41 36 import net.project.calendar.workingtime.IWorkingTimeCalendar; 42 37 import net.project.calendar.workingtime.IWorkingTimeCalendarProvider; 38 import net.project.calendar.workingtime.WorkingTimeCalendarDefinition; 43 39 import net.project.database.DBBean; 44 40 import net.project.database.DatabaseUtils; … … 77 73 import net.project.util.TimeQuantityUnit; 78 74 import net.project.util.Validator; 79 import net.project.view.pages.assignments.MyAssignments; 80 75 76 import org.apache.commons.collections.MultiHashMap; 77 import org.apache.commons.collections.MultiMap; 78 import org.apache.log4j.Logger; 81 79 82 80 public class PnAssignmentWorkServiceImpl implements IPnAssignmentWorkService { 83 84 private static Logger log = Logger.getLogger(PnAssignmentWorkServiceImpl.class); 85 86 public static final TimeQuantity MAXIMUM_WORK_HOURS = new TimeQuantity( 87 new BigDecimal("24"), TimeQuantityUnit.HOUR); 88 89 protected ErrorReporter errors; 90 91 private ResourceWorkingTimeCalendarProvider calendarProvider; 92 93 protected ErrorReporter errorReporter; 94 95 private Map planIDMap; 96 97 private Date startDate; 98 99 private Date endDate; 100 101 private List dateHeaders; 102 103 private List dateLongNames; 104 105 private List assignments; 106 107 private Map dateValues; 108 109 private Map summaryDateValues; 110 111 private Map assignmentMap; 112 113 private Boolean showFilterPane; 114 115 private String percentComplete = null; 116 117 private TimeQuantity assnWork = TimeQuantity.O_HOURS; 118 119 private TimeQuantity currentWork = assnWork; 120 121 private Date scrollBackStartDate; 122 123 private Date scrollForwardStartDate; 124 125 private TaskFinder finder = new TaskFinder(); 126 127 public static class DateHeader { 81 82 private static Logger log = Logger.getLogger(PnAssignmentWorkServiceImpl.class); 83 84 public static final TimeQuantity MAXIMUM_WORK_HOURS = new TimeQuantity(new BigDecimal("24"), TimeQuantityUnit.HOUR); 85 86 protected ErrorReporter errors; 87 88 private ResourceWorkingTimeCalendarProvider calendarProvider; 89 90 protected ErrorReporter errorReporter; 91 92 private Map planIDMap; 93 94 private Date startDate; 95 96 private Date endDate; 97 98 private List dateHeaders; 99 100 private List dateLongNames; 101 102 private List assignments; 103 104 private Map dateValues; 105 106 private Map summaryDateValues; 107 108 private Map assignmentMap; 109 110 private Boolean showFilterPane; 111 112 private String percentComplete = null; 113 114 private TimeQuantity assnWork = TimeQuantity.O_HOURS; 115 116 private TimeQuantity currentWork = assnWork; 117 118 private Date scrollBackStartDate; 119 120 private Date scrollForwardStartDate; 121 122 private TaskFinder finder = new TaskFinder(); 123 124 public static class DateHeader { 128 125 public String dayOfWeek; 126 129 127 public String date; 130 128 } 131 132 private IPnAssignmentWorkDAO pnAssignmentWorkDAO; 133 134 private IUtilService utilService; 135 136 public void setUtilService(IUtilService utilService) {137 this.utilService = utilService;138 }139 140 public void setPnAssignmentWorkDAO(IPnAssignmentWorkDAO pnAssignmentWorkDAO) {141 this.pnAssignmentWorkDAO = pnAssignmentWorkDAO;142 }143 144 public PnAssignmentWork getAssignmentWork(Integer assignmentWorkId) { 145 return pnAssignmentWorkDAO.findByPimaryKey(assignmentWorkId);146 }147 148 public Integer saveAssignmentWork(PnAssignmentWork pnAssignmentWork) {149 return pnAssignmentWorkDAO.create(pnAssignmentWork);150 }151 152 public void deleteAssignmentWork(PnAssignmentWork pnAssignmentWork) {153 pnAssignmentWorkDAO.delete(pnAssignmentWork);154 }155 156 public void updateAssignmentWork(PnAssignmentWork pnAssignmentWork) {157 pnAssignmentWorkDAO.update(pnAssignmentWork);158 }159 129 130 private IPnAssignmentWorkDAO pnAssignmentWorkDAO; 131 132 private IUtilService utilService; 133 134 public void setUtilService(IUtilService utilService) { 135 this.utilService = utilService; 136 } 137 138 public void setPnAssignmentWorkDAO(IPnAssignmentWorkDAO pnAssignmentWorkDAO) { 139 this.pnAssignmentWorkDAO = pnAssignmentWorkDAO; 140 } 141 142 public PnAssignmentWork getAssignmentWork(Integer assignmentWorkId) { 143 return pnAssignmentWorkDAO.findByPimaryKey(assignmentWorkId); 144 } 145 146 public Integer saveAssignmentWork(PnAssignmentWork pnAssignmentWork) { 147 return pnAssignmentWorkDAO.create(pnAssignmentWork); 148 } 149 150 public void deleteAssignmentWork(PnAssignmentWork pnAssignmentWork) { 151 pnAssignmentWorkDAO.delete(pnAssignmentWork); 152 } 153 154 public void updateAssignmentWork(PnAssignmentWork pnAssignmentWork) { 155 pnAssignmentWorkDAO.update(pnAssignmentWork); 156 } 157 160 158 /* (non-Javadoc) 161 159 * @see net.project.hibernate.service.IPnAssignmentWorkService#getModifiedTimeSheetEntries(java.lang.String, java.lang.String, javax.servlet.http.HttpServletRequest) 162 */ 163 public String getModifiedTimeSheetEntries(HttpServletRequest request) { 164 String objectId = request.getParameter("objectId"); 165 String dateToStart = request.getParameter("scroll"); 166 NumberFormat nf = NumberFormat.getInstance(); 167 String scrollType=request.getParameter("scrollType")==null?"week":request.getParameter("scrollType"); 168 169 // Get/Set Date values List while scrolling and first Time Laod. 170 String jsTimesValueArray=getTimeValueForJS(dateToStart,scrollType,objectId); 171 172 // Get the assignments that we are displaying 173 try { 174 getAssignments(objectId); 175 } catch (Exception e) { 176 log.error("Error occured while getting assignments:" 177 + e.getMessage()); 178 } 179 String strTDwidth = "52px"; 180 String timeSheetTable = ""; 181 timeSheetTable += "<table align='left' id='timecard' border='0' width='100%' align=\"center\">\n"; 182 timeSheetTable += "\t<tr>\n"; 183 timeSheetTable += "\t\t<td width='75%'><div id='div1' style='display:block'><table align=\"center\"><tr class='timeSheetHeader'>\n"; 184 timeSheetTable += "\t\t\t<td><img src='" 185 + SessionManager.getJSPRootURL() 186 + "/images/leftsingle.gif' border='0' onClick='scrollBack(\"" 187 + scrollBackStartDate.getTime() + "\",\""+scrollType+"\");'/></td>\n"; 188 189 for (Iterator it = dateHeaders.iterator(); it.hasNext();) { 190 DateHeader dateHeader = (DateHeader) it.next(); 191 timeSheetTable += "\t\t\t<td align=\"center\" width='" + strTDwidth 192 + "'>" + dateHeader.dayOfWeek + "<br>" + dateHeader.date 193 + "</td>\n"; 194 } 195 196 timeSheetTable += "\t\t\t<td><img src='" 197 + SessionManager.getJSPRootURL() 198 + "/images/rightsingle.gif' border='0' align=\"right\" onClick='scrollForward(\"" 199 + scrollForwardStartDate.getTime() + "\",\""+scrollType+"\");'/></td>\n"; 200 timeSheetTable += "\t\t</tr>"; 201 timeSheetTable += "\t\t<tr>\n"; 202 timeSheetTable += "\t\t\t<td colspan='9' align='center'>\n"; 203 if(scrollType.equalsIgnoreCase("week")){ 204 timeSheetTable += "\t\t\t\t <a href='javascript:changeScrollType(\"day\");'>day</a> week\n"; 205 }else{ 206 timeSheetTable += "\t\t\t\t day <a href='javascript:changeScrollType(\"week\");'>week</a>\n"; 207 } 208 timeSheetTable += "\t\t\t</td></tr></table></div>\n"; 209 210 timeSheetTable += "\t\t</td>\n"; 211 212 timeSheetTable += "\t\t<td align='center' valign='top' class='blogEntryLabel' nowrap='nowrap' >Total Days<br/>Reported<br/>" 213 //+"<a href='javascript:showHistory();' class='bluelink'>history</a>" 214 +"</td>\n"; 215 timeSheetTable += "\t\t<td align='center' valign='top' class='blogEntryLabel' nowrap='nowrap' >Estimated <br/>Remaining</td>\n"; 216 timeSheetTable += "\t\t<td align='center' valign='top' class='blogEntryLabel' nowrap='nowrap' >Total <br/>Est.Days</td>\n"; 217 timeSheetTable += "\t\t<td align='center' valign='top' class='blogEntryLabel' nowrap='nowrap' >% <br/>complete<br/>" 218 //+"<a href='javascript:setPercentageDiv();' class='redlink'>not accurate?</a>" 219 +"</td>\n"; 220 timeSheetTable += "\t\t<td></td>\n"; 221 222 timeSheetTable += "\t</tr>\n"; 223 timeSheetTable += "\t<tr><td colspan='7' class='blogbar2'></td></tr>\n"; 224 225 timeSheetTable += "\t<tr class='tableContent'>\n"; 226 227 timeSheetTable += "\t\t<td width='75%'><div id='div11' style='display:block'><table align=\"center\"><tr class='tableContent'>\n"; 228 timeSheetTable += "\t\t\t<td></td>\n"; 229 double percenComplete = 1.0; 230 int forcount = 0; 231 String strWork = TimeQuantity.O_HOURS.toShortString(0, 2); 232 String strWorkComplete = TimeQuantity.O_HOURS.toShortString(0, 2); 233 String strWorkRemaining = TimeQuantity.O_HOURS.toShortString(0, 2); 234 for (Iterator it = assignments.iterator(); it.hasNext();) { 235 Assignment assignment = (Assignment) it.next(); 236 if (assignment instanceof ScheduleEntryAssignment) { 237 ScheduleEntryAssignment seAssignment = (ScheduleEntryAssignment) assignment; 238 percenComplete = seAssignment.getPercentComplete() 239 .doubleValue(); 240 strWork = seAssignment.getWork().toShortString(0, 2); 241 strWorkComplete = seAssignment.getWorkComplete().toShortString( 242 0, 2); 243 strWorkRemaining = seAssignment.getWorkRemaining() 244 .toShortString(0, 2); 245 246 } else if (assignment instanceof ActivityAssignment) { 247 ActivityAssignment aAssignment = (ActivityAssignment) assignment; 248 strWork = aAssignment.getWork().toShortString(0, 2); 249 strWorkComplete = aAssignment.getWork().toShortString(0, 2); 250 251 } else if (assignment instanceof FormAssignment) { 252 FormAssignment fAssignment = (FormAssignment) assignment; 253 percenComplete = fAssignment.getPercentComplete().doubleValue(); 254 strWork = fAssignment.getWork().toShortString(0, 2); 255 strWorkComplete = fAssignment.getWorkComplete().toShortString( 256 0, 2); 257 strWorkRemaining = fAssignment.getWorkRemaining() 258 .toShortString(0, 2); 259 } 260 for (Iterator it2 = dateLongNames.iterator(); it2.hasNext();) { 261 String name = (String) it2.next(); 262 TimeQuantity work = (TimeQuantity) dateValues 263 .get(new AssignmentDate(new Date(Long.parseLong(name)), 264 assignment.getObjectID())); 265 work = (work == null ? new TimeQuantity(0, 266 TimeQuantityUnit.HOUR) : work); 267 String valueName = "dateupdX" + assignment.getObjectID() + "X" 268 + name; 269 String valueValue = (request.getParameter(valueName) == null ? " " 270 : " value='" + request.getParameter(valueName) + "' "); 271 timeSheetTable += "\t\t\t<td nowrap='nowrap' width='" + strTDwidth 272 + "' align=\"center\">\n"; 273 timeSheetTable += work.toShortString(0, 2); 274 timeSheetTable += "\t\t\t\t<br>\n"; 160 */ 161 public String getModifiedTimeSheetEntries(HttpServletRequest request) { 162 String objectId = request.getParameter("objectId"); 163 String dateToStart = request.getParameter("scroll"); 164 NumberFormat nf = NumberFormat.getInstance(); 165 String scrollType = request.getParameter("scrollType") == null ? "week" : request.getParameter("scrollType"); 166 167 // Get/Set Date values List while scrolling and first Time Laod. 168 String jsTimesValueArray = getTimeValueForJS(dateToStart, scrollType, objectId); 169 170 // Get the assignments that we are displaying 171 try { 172 getAssignments(objectId); 173 } catch (Exception e) { 174 log.error("Error occured while getting assignments:" + e.getMessage()); 175 } 176 String strTDwidth = "52px"; 177 String timeSheetTable = ""; 178 timeSheetTable += "<table align='left' id='timecard' border='0' width='100%' align=\"center\">\n"; 179 timeSheetTable += "\t<tr>\n"; 180 timeSheetTable += "\t\t<td width='75%'><div id='div1' style='display:block'><table align=\"center\"><tr class='timeSheetHeader'>\n"; 181 timeSheetTable += "\t\t\t<td><img src='" + SessionManager.getJSPRootURL() + "/images/leftsingle.gif' border='0' onClick='scrollBack(\"" + scrollBackStartDate.getTime() + "\",\"" + scrollType + "\");'/></td>\n"; 182 183 for (Iterator it = dateHeaders.iterator(); it.hasNext();) { 184 DateHeader dateHeader = (DateHeader) it.next(); 185 timeSheetTable += "\t\t\t<td align=\"center\" width='" + strTDwidth + "'>" + dateHeader.dayOfWeek + "<br>" + dateHeader.date + "</td>\n"; 186 } 187 188
