home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / crpgrp.tcl < prev    next >
Text File  |  1996-12-11  |  4KB  |  137 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #    (c) Cadre Technologies Inc. 1995
  4. #
  5. #    File:        @(#)crpgrp.tcl    /main/hindenburg/2
  6. #    Author:        Harm Leijendeckers
  7. #    Description:    Report on corporate groups
  8. #    Usage in:    Corporate
  9. #
  10. #---------------------------------------------------------------------------
  11. # SccsId = @(#)crpgrp.tcl    /main/hindenburg/2    11 Dec 1996    Copyright 1995 Cadre Technologies Inc.
  12.  
  13.  
  14. Class ReportCorporateGroups : {ReportBase} {
  15.     constructor
  16.     method setHeader
  17.  
  18.     method corporateReport
  19. }
  20.  
  21.  
  22. constructor ReportCorporateGroups {class this} {
  23.     set this [ReportBase::constructor $class $this]
  24.     $this reportName "Corporate Groups"
  25.     return $this
  26. }
  27.  
  28.  
  29. method ReportCorporateGroups::setHeader {this} {
  30.     [$this report] header {
  31.     [$this report] print - 131 fill line
  32.     # print logo1 only if it's not empty
  33.     if { [string length [$this logo1]] } {
  34.         [$this report] print [$this logo1] line
  35.     }
  36.     [$this report] print [$this logo2] line
  37.     [$this report] print [$this logo3]
  38.     [$this report] space 10
  39.     [$this report] print "Report: [$this reportName]" 50
  40.     [$this report] print "Date: [[$this report] date]" line
  41.     [$this report] print [$this logo4] line
  42.     [$this report] print - 131 fill line
  43.     }
  44. }
  45.  
  46.  
  47. method ReportCorporateGroups::corporateReport {this} {
  48.     set allCorporateGroups [[$this corporate] corporateGroups]
  49.     if [lempty $allCorporateGroups] { return 0 }
  50.  
  51.     set report [$this report]
  52.     foreach cg [osort name $allCorporateGroups] {
  53.     set allVersions [$cg corporateGroupVersions]
  54.     set phaseType [query -s savedGroupVersion.system.phase.type \
  55.                 [lindex $allVersions 0]]
  56.     $report line
  57.     $report line
  58.     $report print "Corporate Group: "
  59.     $report print [$cg name] 35
  60.     $report print "Project: "
  61.     $report print [[[$cg savedGroup] project] name] 35
  62.     $report print "Phase Type: "
  63.     $report print $phaseType line
  64.  
  65.     $report print "Saved Group: " 17 right
  66.     $report print [[$cg savedGroup] name] 35
  67.     $report print " System: "
  68.     $report print [[[$cg savedGroup] system] name] line
  69.  
  70.     $report line
  71.     $report print CG 3 right
  72.     $report separator " | "
  73.     $report print SG 3 right
  74.     $report separator " | "
  75.     $report print "Contents" 33
  76.     $report separator " | "
  77.     $report print "Reused in" 37
  78.     $report separator " | "
  79.     $report print Creator 10
  80.     $report separator " | "
  81.     $report print "Created" 8
  82.     $report separator " | "
  83.     $report print "Comments" line
  84.     $report print - 131 fill line
  85.  
  86.     foreach version [osort versionNumber -versnum $allVersions] {
  87.         set savedGroupVersion [$version savedGroupVersion]
  88.         $report print [$version versionNumber] 3 right
  89.         $report separator " | "
  90.         $report print [$savedGroupVersion versionNumber] 3 right
  91.         $report separator " | "
  92.  
  93.         set contents ""
  94.         foreach fileV [osort file.type file.name [$version fileVersions]] {
  95.         set file [$fileV file]
  96.         set toadd [string range \
  97.             "[$file name].[$file type].[$fileV versionName]" 0 32]
  98.         set contents [format "%s%-33s" $contents $toadd]
  99.         }
  100.         $report print $contents 33
  101.         $report separator " | "
  102.  
  103.         set reusedin ""
  104.         foreach sysv [$version reusedIn] {
  105.         set projtxt [string range [[$sysv project] name] 0 12]
  106.         set phasetxt [string range [[$sysv phase] name] 0 0]
  107.         set projphasetxt [format %s/%s $projtxt $phasetxt]
  108.         set projphaselen [string length $projphasetxt]
  109.         set sysname [[$sysv system] name]
  110.         set versnrtxt [$sysv versionName]
  111.         set versnrlen [string length $versnrtxt]
  112.         set maxsysnamelen [expr 19-$versnrlen+(15-$projphaselen)]
  113.         set sysnametxt [string range $sysname 0 $maxsysnamelen]
  114.         set toadd [format %s/%s.%s $projphasetxt $sysnametxt $versnrtxt]
  115.         set reusedin [format %s%-37s $reusedin $toadd]
  116.         }
  117.         $report print $reusedin 37
  118.         $report separator " | "
  119.  
  120.         $report print [[$savedGroupVersion creator] name] 10
  121.         $report separator " | "
  122.         $report print [fmtclock [$version createTime] "%D"] 8
  123.         $report separator " | "
  124.         $report print [$version comments] 20
  125.  
  126.         $report line
  127.     }
  128.     }
  129.  
  130.     $report page
  131.  
  132.     return 0
  133. }
  134.  
  135.  
  136. set executeMe [ReportCorporateGroups new]
  137.