すべてのタイムシートをまとめてグループ化するタイムシート ページを作成したいと考えています (つまり、2 つのプロジェクトに分割された 1 週間のタイムシートを追加すると、2 つのタイムシート レコードが作成されます)。
そのため、開始日に基づいて 1 週間のタイムシートをグループ化し、リソースに従ってグループ化された結果も表示したいと考えています。
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());
}
}