我想创建一个时间表页面来将所有时间表分组在一起(即,当在两个项目之间添加一周的时间表时,会创建两个时间表记录)。
所以,我想根据开始日期对一周的时间表进行分组,然后还显示根据资源分组的结果
喜欢 WEEK ENDING DATE - 2012 年 1 月 3 日;资源名称 - abc
- 项目名称 -test ,总小时数 16
- 项目名称 - test2 ,总小时数 20
所有这些细节都可以在时间表记录中找到。
下面是我的控制器:
public class TimesheetHeader {
public Map<Date,Set<pse__Timecard_Header__c>> getTimecardMap(){
return timecardMap;
}
public Map<Date,Set<pse__Timecard_Header__c>> timecardMap = new Map<Date,Set<pse__Timecard_Header__c>>();
Set<pse__Timecard_Header__c> timecardSet = new Set<pse__Timecard_Header__c>();
Date tcdate;
public TimesheetHeader(ApexPages.StandardSetController controller) {
List<pse__Timecard_Header__c> timecardheader = [Select f.Id,f.Name,f.pse__Start_Date__c,f.pse__End_Date__c,f.pse__Project__r.Name,f.pse__Status__c,f.pse__Total_Hours__c From pse__Timecard_Header__c f ];
for(pse__Timecard_Header__c tc :timecardheader ){
tcdate = tc.pse__End_Date__c;
System.debug('tcdate---->'+tcdate);
if(timecardMap.containsKey(tcdate)){
Set<pse__Timecard_Header__c> temp = new Set<pse__Timecard_Header__c>();
temp = timecardMap.get(tcdate);
temp.add(tc);
timecardMap.put(tcdate,temp);
temp.clear();
}
else{
timecardSet.add(tc);
timecardMap.put(tcdate,timecardSet);
}
}
System.debug('timecardMap------>'+timecardMap.keySet());
}
}