Changeset 342
- Timestamp:
- Fri Oct 12 15:29:16 2007
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
-
scripts/trunk/Track Resource Hours/Install Assignment Hours.py
r144 r342 85 85 ct = [ 86 86 { 'Name': 'ActualEndDate', 'Label': 'Actual\nEnd Date', 'DataType': 'd', 'AccessType': 'd', 'T': 'A', 'Edit': True, 'Width': 80 }, 87 { 'Name': 'Week/EffortHours', 'Label': 'Week/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 },88 87 # { 'Name': 'Day/EffortHours', 'Label': 'Day/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 }, 88 { 'Name': 'Week/EffortHours', 'Label': 'Week/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 }, 89 { 'Name': 'Month/EffortHours', 'Label': 'Month/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 }, 89 90 ] 90 91 Data.AddReportType(rt, ct) … … 98 99 { 'Name': 'ResourcesShortNames', 'Label': 'Resource\nShort Names', 'Path': 'ID/Assignment/TaskID/ResourceID/Resource/ShortName', 'DataType': 't', 'AccessType': 'list', 'T': 'A', 'Edit': False, 'Width': 80 }, 99 100 { 'Name': 'ActualEndDate', 'Label': 'Actual\nEnd Date', 'DataType': 'd', 'AccessType': 'd', 'T': 'A', 'Edit': True, 'Width': 80 }, 100 { 'Name': 'Week/EffortHours', 'Label': 'Week/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 },101 101 { 'Name': 'Day/EffortHours', 'Label': 'Day/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 }, 102 { 'Name': 'Week/EffortHours', 'Label': 'Week/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 }, 103 { 'Name': 'Month/EffortHours', 'Label': 'Month/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 }, 102 104 ] 103 105 Data.AddReportType(rt, ct) … … 114 116 'SuggestedColumns': ',Name;,Day/EffortHours,,21' } 115 117 ct = [ 116 { 'Name': 'Week/EffortHours', 'Label': 'Week/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 },117 118 { 'Name': 'Day/EffortHours', 'Label': 'Day/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 }, 119 { 'Name': 'Week/EffortHours', 'Label': 'Week/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 }, 120 { 'Name': 'Month/EffortHours', 'Label': 'Month/Effort', 'DataType': 'i', 'AccessType': 's', 'T': 'X', 'Edit': True, 'Width': 40 }, 118 121 ] 119 122 Data.AddReportType(rt, ct) … … 141 144 142 145 # add required data tables 143 Data.AddTable('ProjectWeek')144 146 # Data.AddTable('ProjectDay') 145 Data.AddTable('TaskWeek') 147 Data.AddTable('ProjectWeek') 148 Data.AddTable('ProjectMonth') 146 149 Data.AddTable('TaskDay') 147 Data.AddTable('ResourceWeek') 150 Data.AddTable('TaskWeek') 151 Data.AddTable('TaskMonth') 148 152 Data.AddTable('ResourceDay') 149 Data.AddTable('AssignmentWeek') 153 Data.AddTable('ResourceWeek') 154 Data.AddTable('ResourceMonth') 150 155 Data.AddTable('AssignmentDay') 151 156 Data.AddTable('AssignmentWeek') 157 Data.AddTable('AssignmentMonth') 152 158 153 159 Data.SetUndo("Install Assignment Effort Tables") -
scripts/trunk/Track Resource Hours/Calculate Assignment Hours.py
r202 r342 78 78 """ 79 79 # make sure all required tables exist 80 if not (Data.Database.has_key('ProjectWeek') 81 and Data.Database.has_key('ResourceWeek') 82 and Data.Database.has_key('ResourceDay') 83 and Data.Database.has_key('TaskWeek') 84 and Data.Database.has_key('TaskDay') 85 and Data.Database.has_key('AssignmentWeek') 86 and Data.Database.has_key('AssignmentDay') 87 ): 88 hint("Summary tables haven't been created. Be sure to run the install script.") 89 return 90 # pass # give error message 80 for table in ['ProjectWeek', 'ProjectMonth', 81 'ResourceDay', 'ResourceWeek', 'ResourceMonth', 82 'TaskDay', 'TaskWeek', 'TaskMonth', 83 'AssignmentDay', 'AssignmentWeek', 'AssignmentMonth']: 84 # make sure these tables are in the database 85 Data.AddTable(table) 91 86 92 87 # create short cuts to all of the tables used … … 96 91 da = Data.Database['Assignment'] 97 92 dpw = Data.Database['ProjectWeek'] 98 d rw = Data.Database['ResourceWeek']93 dpm = Data.Database['ProjectMonth'] 98 93 drd = Data.Database['ResourceDay'] 99 dtw = Data.Database['TaskWeek'] 94 drw = Data.Database['ResourceWeek'] 95 drm = Data.Database['ResourceMonth'] 100 96 dtd = Data.Database['TaskDay'] 101 daw = Data.Database['AssignmentWeek'] 97 dtw = Data.Database['TaskWeek'] 98 dtm = Data.Database['TaskMonth'] 102 99 dad = Data.Database['AssignmentDay'] 100 daw = Data.Database['AssignmentWeek'] 101 dam = Data.Database['AssignmentMonth'] 103 102 104 103 # was going to create an index of lists of resource per task, but decided to use … … 202 201 203 202 ipw = makeindex(dpw, 'ProjectID', 'Period') 204 i rw = makeindex(drw, 'ResourceID', 'Period')203 ipm = makeindex(dpm, 'ProjectID', 'Period') 204 203 ird = makeindex(drd, 'ResourceID', 'Period') 205 itw = makeindex(dtw, 'TaskID', 'Period') 204 irw = makeindex(drw, 'ResourceID', 'Period') 205 irm = makeindex(dpm, 'ResourceID', 'Period') 206 206 itd = makeindex(dtd, 'TaskID', 'Period') 207 itw = makeindex(dtw, 'TaskID', 'Period') 208 itm = makeindex(dpm, 'TaskID', 'Period') 207 209 208 210 def makeindex2(table1, table2, k1, k2, k3, k4): … … 218 220 return indx 219 221 220 iaw = makeindex2(daw, da, 'AssignmentID', 'TaskID', 'ResourceID', 'Period')221 222 iad = makeindex2(dad, da, 'AssignmentID', 'TaskID', 'ResourceID', 'Period') 223 iaw = makeindex2(daw, da, 'AssignmentID', 'TaskID', 'ResourceID', 'Period') 224 iam = makeindex2(dam, da, 'AssignmentID', 'TaskID', 'ResourceID', 'Period') 222 225 223 226 # create summaries by: … … 230 233 # AssignmentDay 231 234 232 spw = {}; srw = {}; srd = {}; stw = {}; std = {}; saw = {} 235 spw = {}; spm = {} 236 srw = {}; srd = {}; srm = {}; 237 stw = {}; std = {}; stm = {} 238 saw = {}; sam = {} 233 239 for k, v in sad.iteritems(): 234 240 tid, rid, d = k … … 240 246 di = Data.DateConv[d] 241 247 w = Data.DateIndex[di - Data.DateInfo[di][2]] # convert to beginning of week (date index) minus (day of week) 248 mi = Data.GetPeriodStart("Month", di, 0) 249 m = Data.DateToString(mi) 242 250 hours = v 243 251 244 if debug: print "t, r, p, d, w, h", tid, rid, pid, d, w, hours 252 if debug: print "t, r, p, d, w, h", tid, rid, pid, d, w, m, hours 244 252 245 253 def dosum(stable, key): … … 252 260 if hours: 253 261 dosum(spw, (pid, w)) 254 dosum(s rw, (rid, w))262 dosum(spm, (pid, m)) 254 262 dosum(srd, (rid, d)) 255 dosum(stw, (tid, w)) 263 dosum(srw, (rid, w)) 264 dosum(srm, (rid, m)) 256 265 dosum(std, (tid, d)) 266 dosum(stw, (tid, w)) 267 dosum(stm, (tid, m)) 257 268 dosum(saw, (tid, rid, w)) 269 dosum(sam, (tid, rid, m)) 258 270 259 271 # routines to update database from summaries … … 313 325 314 326 updatekey1week(spw, dpw, ipw, 'ProjectWeek', 'ProjectID') 315 updatekey1week(srw, drw, irw, 'ResourceWeek', 'ResourceID') 327 updatekey1week(spm, dpm, ipm, 'ProjectMonth', 'ProjectID') 328 316 329 updatekey1week(srd, drd, ird, 'ResourceDay', 'ResourceID') 317 updatekey1week(stw, dtw, itw, 'TaskWeek', 'TaskID') 330 updatekey1week(srw, drw, irw, 'ResourceWeek', 'ResourceID') 331 updatekey1week(srm, drm, irm, 'ResourceMonth', 'ResourceID') 332 318 333 updatekey1week(std, dtd, itd, 'TaskDay', 'TaskID') 334 updatekey1week(stw, dtw, itw, 'TaskWeek', 'TaskID') 335 updatekey1week(stm, dtm, itm, 'TaskMonth', 'TaskID') 319 336 320 updatekey2week(saw, daw, iaw, ia, 'AssignmentWeek', 'AssignmentID')321 337 updatekey2week(sad, dad, iad, ia, 'AssignmentDay', 'AssignmentID') 338 updatekey2week(saw, daw, iaw, ia, 'AssignmentWeek', 'AssignmentID') 339 updatekey2week(sam, dam, iam, ia, 'AssignmentMonth', 'AssignmentID') 322 340 323 341 Data.SetUndo('Update Planned Effort Summaries')
