Do not let any software impress you!

Only let it convince your intellect.
Slider img 1
Do not look for a business paradise!

It is a waste of time.
Slider img 2
Only yourself can push you uphill.

There is no easy road to prizes.
Slider img 3
Productivity is the name of the game.

And you have to conquer it.
Slider img 4
As long as you understand it,

you will start to build your know-how.
Slider img 5
We can help with that.

We have the tools and the method.
Slider img 6
Procedure : AU_PROJECT_DASH_EXPERT

AutoScript

start_agent_info
   AgentName = "AU_PROJECT_DASH_EXPERT"
   AgentDescr = "Project Dashboard Expert"
   AgentLanguage = ""
   __timer_interval = 0 {....define (in seconds) the timer interval for the wake up}
   __delete_on_termination = 0 {....1=the agent frees itself when terminates its task}
end_agent_info

start_action

    function = __params[1]
    scode    = __params[2]
    scode    = strcat(scode,"%")

    __create_html = 1
    __html_type = "DASHBOARD"

    {........................................SUMMARY..................................}
    if (function = "SUMMARY") then

       window_caption = "Projet Dashboard"

       id = 0

       {--------------------------------- Groups ----------------------------}
       id = id + 1
       lab_caption[id] = "Groups"
       start_sql "*" "KOSMOS"
         SELECT AU_PUNCHITEM.GROUP
         FROM AU_PUNCHITEM
         GROUP BY AU_PUNCHITEM.GROUP
       end_sql
       q = QueryByName()
       call TExecute(q)
       val_caption[id] = TRecordCount(q)       
       val_unit[id] = ""
       call FreeEmbSQL(q)

       expand_collapse[id] = TRUE
       expanded[id]        = False
       expand_height[id] = 0
       agent_function[id] = "AU_PUNCHITEM_MIS"
       expand_to_window[id]= True


       {--------------------------------- Euqipments ----------------------------}
       id = id + 1
       lab_caption[id] = "Equipments"
       start_sql "*" "KOSMOS"
         SELECT AU_PUNCHITEM.EQUIPMENT
         FROM AU_PUNCHITEM
         GROUP BY AU_PUNCHITEM.EQUIPMENT
       end_sql
       q = QueryByName()
       call TExecute(q)
       val_caption[id] = TRecordCount(q)
       val_unit[id] = ""
       call FreeEmbSQL(q)

       expand_collapse[id] = TRUE
       expanded[id]        = False
       expand_height[id] = 0
       agent_function[id] = "AU_ALLPRODUCTCOMMIS"
       expand_to_window[id]= True

       {--------------------------------- Commisioned Euqipments ----------------------------}
       id = id + 1
       lab_caption[id] = "Commisioned Equipments"
       start_sql "*" "KOSMOS"
         SELECT AU_GOOD.TITLE, AU_GOOD.AU_GOOD, AU_GOOD.AU_PROCESS, Sum(IIf([STATUS]="OPEN",1,0)) AS A,
         Sum(IIf([STATUS]="CLOSED",1,0)) AS B, [B]+[A] AS T, [B]/([B]+[A])*100 AS C
         FROM AU_GOOD INNER JOIN AU_PUNCHITEM ON AU_GOOD.TITLE = AU_PUNCHITEM.EQUIPMENT
         GROUP BY AU_GOOD.TITLE, AU_GOOD.AU_GOOD, AU_GOOD.AU_PROCESS
         HAVING (((Sum(IIf([STATUS]="OPEN",1,0)))=0))
       end_sql
       q = QueryByName()
       call TExecute(q)
       val_caption[id] = TRecordCount(q)
       val_caption[id] = val_caption[id] / val_caption[id-1] * 100
       val_caption[id] = format("%10.1f",val_caption[id])
       val_unit[id] = "%"
       call FreeEmbSQL(q)

       row_color[id]       = RGBToColor(193,255,132)
       expand_collapse[id] = TRUE
       expanded[id]        = False
       expand_height[id] = 0
       agent_function[id] = "AU_ALLPRODUCTCOMMIS_CLOSED"
       expand_to_window[id]= True

       {--------------------------------- Punch Items ----------------------------}
       id = id + 1
       lab_caption[id] = "Punch Items"
       start_sql "*" "KOSMOS"
         SELECT COUNT(AU_PUNCHITEM.AU_PUNCHITEM) AS CNT
         FROM AU_PUNCHITEM
       end_sql
       q = QueryByName()
       call TExecute(q)
       val_caption[id] = TGetFld(q,"CNT")
       val_unit[id] = ""
       call FreeEmbSQL(q)

       expand_collapse[id] = TRUE
       expanded[id]        = False
       expand_height[id] = 0
       agent_function[id] = "AU_PUNCHITEM_MIS"
       expand_to_window[id]= True

       {--------------------------------- Closed Punch Items ----------------------------}
       id = id + 1
       lab_caption[id] = "Closed Punch Items"
       start_sql "*" "KOSMOS"
         SELECT COUNT(AU_PUNCHITEM.AU_PUNCHITEM) AS CNT
         FROM AU_PUNCHITEM
         WHERE (AU_PUNCHITEM.STATUS = 'CLOSED')
       end_sql
       q = QueryByName()
       call TExecute(q)
       val_caption[id] = TGetFld(q,"CNT")
       val_caption[id] = val_caption[id] / val_caption[id-1] * 100
       val_caption[id] = format("%10.1f",val_caption[id])
       val_unit[id] = "%"
       call FreeEmbSQL(q)

       row_color[id]       = RGBToColor(193,255,132)
       expand_collapse[id] = TRUE
       expanded[id]        = False
       expand_height[id] = 0
       agent_function[id] = "PI_TIME_ANALYSIS"
       expand_to_window[id]= True

       {--------------------------------- Activities ----------------------------}
       id = id + 1
       lab_caption[id] = "Activities"
       start_sql "*" "KOSMOS"
         SELECT COUNT(AU_PUNCHITEM.AU_PUNCHITEM) AS CNT
         FROM AU_PUNCHITEM
       end_sql
       q = QueryByName()
       call TExecute(q)
       val_caption[id] = TGetFld(q,"CNT")
       val_unit[id] = ""
       call FreeEmbSQL(q)

       expand_collapse[id] = TRUE
       expanded[id]        = False
       expand_height[id] = 0
       agent_function[id] = "AU_PUNCHITEM_MIS"
       expand_to_window[id]= True

       {--------------------------------- Closed Activities ----------------------------}
       id = id + 1
       lab_caption[id] = "Closed Activities"
       start_sql "*" "KOSMOS"
         SELECT COUNT(AU_PUNCHITEM.AU_PUNCHITEM) AS CNT
         FROM AU_PUNCHITEM
         WHERE (AU_PUNCHITEM.STATUS = 'CLOSED')
       end_sql
       q = QueryByName()
       call TExecute(q)
       val_caption[id] = TGetFld(q,"CNT")
       val_caption[id] = val_caption[id] / val_caption[id-1] * 100
       val_caption[id] = format("%10.1f",val_caption[id])
       val_unit[id] = "%"
       call FreeEmbSQL(q)

       row_color[id]       = RGBToColor(193,255,132)
       expand_collapse[id] = TRUE
       expanded[id]        = False
       expand_height[id] = 0
       agent_function[id] = "PI_TIME_ANALYSIS"
       expand_to_window[id]= True

       {--------------------------------- Total No of Certificates ----------------------------}
       id = id + 1
       lab_caption[id] = "Total No of Certificates"
       start_sql "*" "KOSMOS"
         SELECT COUNT(AU_PUNCHITEM.AU_PUNCHITEM) AS CNT
         FROM AU_PUNCHITEM
       end_sql
       q = QueryByName()
       call TExecute(q)
       val_caption[id] = TGetFld(q,"CNT")
       val_unit[id] = ""
       call FreeEmbSQL(q)

       expand_collapse[id] = TRUE
       expanded[id]        = False
       expand_height[id] = 0
       agent_function[id] = "AU_PUNCHITEM_MIS"
       expand_to_window[id]= True

       {--------------------------------- Issued Certificates ----------------------------}
       id = id + 1
       lab_caption[id] = "Issued Certificates"
       start_sql "*" "KOSMOS"
         SELECT COUNT(AU_PUNCHITEM.AU_PUNCHITEM) AS CNT
         FROM AU_PUNCHITEM
         WHERE (AU_PUNCHITEM.STATUS = 'CLOSED')
       end_sql
       q = QueryByName()
       call TExecute(q)
       val_caption[id] = TGetFld(q,"CNT")
       val_caption[id] = val_caption[id] / val_caption[id-1] * 100
       val_caption[id] = format("%10.1f",val_caption[id])
       val_unit[id] = "%"
       call FreeEmbSQL(q)

       row_color[id]       = RGBToColor(193,255,132)
       expand_collapse[id] = TRUE
       expanded[id]        = False
       expand_height[id] = 0
       agent_function[id] = "PI_TIME_ANALYSIS"
       expand_to_window[id]= True

       {--------------------------------- Equipment Acceptance Certificates ----------------------------}
       id = id + 1
       lab_caption[id] = "Equipment Acceptance Certificates"
       start_sql "*" "KOSMOS"
         SELECT COUNT(AU_PUNCHITEM.AU_PUNCHITEM) AS CNT
         FROM AU_PUNCHITEM
         WHERE (AU_PUNCHITEM.STATUS = 'CLOSED')
       end_sql
       q = QueryByName()
       call TExecute(q)
       val_caption[id] = TGetFld(q,"CNT")
       val_caption[id] = val_caption[id] / val_caption[id-1] * 100
       val_caption[id] = format("%10.1f",val_caption[id])
       val_unit[id] = "%"
       call FreeEmbSQL(q)

       expand_collapse[id] = TRUE
       expanded[id]        = False
       expand_height[id] = 0
       agent_function[id] = "PI_TIME_ANALYSIS"
       expand_to_window[id]= True

       {--------------------------------- Mechanical Completion Certificates ----------------------------}
       id = id + 1
       lab_caption[id] = "Mechanical Completion Certificates"
       start_sql "*" "KOSMOS"
         SELECT COUNT(AU_PUNCHITEM.AU_PUNCHITEM) AS CNT
         FROM AU_PUNCHITEM
         WHERE (AU_PUNCHITEM.STATUS = 'CLOSED')
       end_sql
       q = QueryByName()
       call TExecute(q)
       val_caption[id] = TGetFld(q,"CNT")
       val_caption[id] = val_caption[id] / val_caption[id-1] * 100
       val_caption[id] = format("%10.1f",val_caption[id])
       val_unit[id] = "%"
       call FreeEmbSQL(q)

       row_color[id]       = RGBToColor(193,255,132)
       expand_collapse[id] = TRUE
       expanded[id]        = False
       expand_height[id] = 0
       agent_function[id] = "PI_TIME_ANALYSIS"
       expand_to_window[id]= True

       lab_count = id
       return
    endif

    {.......................................PI_TIME_ANALYSIS..........................}
    if (function = "PI_TIME_ANALYSIS") then     {keep}

       line_series = True
       title = "Punchitems Closing Progress"
       draw_type = "CHART"
       y_count = 6
       show_legend = TRUE
       legend_text[1] = "A"
       legend_text[2] = "B"
       legend_text[3] = "C"              
       legend_text[4] = "D"
       legend_text[5] = "E"
       legend_text[6] = "Total"
       left_axis_title = "No of Punchitems"
       bottom_axis_title = "Time in Weeks"

       start_sql "*" "KOSMOS"
         SELECT AU_PUNCHITEM.CLASSIFICATION AS CLASS, AU_PUNCHITEM.CUSTSIGNOFFDATE AS DAT, Count(AU_PUNCHITEM.STATUS) AS CNT
         FROM AU_PUNCHITEM
         WHERE (AU_PUNCHITEM.STATUS = 'CLOSED')
         GROUP BY AU_PUNCHITEM.CLASSIFICATION, AU_PUNCHITEM.CUSTSIGNOFFDATE
         HAVING (AU_PUNCHITEM.CUSTSIGNOFFDATE > 0)
         ORDER BY AU_PUNCHITEM.CUSTSIGNOFFDATE
       end_sql
       q = QueryByName()
       call TExecute(q)
       msg = error_message(q)
       count = TRecordCount(q)

       color[1] = StringToColor("clRed")
       color[2] = StringToColor("clGreen")
       color[3] = StringToColor("clBlue")
       color[4] = StringToColor("clYellow")
       color[5] = StringToColor("clNavy")
       color[6] = StringToColor("clBlack")
       sum[1] = 0
       sum[2] = 0
       sum[3] = 0
       sum[4] = 0
       sum[5] = 0
       sum[6] = 0

       call TFirst(q)

       dat = TGetFld(q,"DAT")
       dat = DateToNum(dat)
       wk0 = Div(dat,7)

       for i = 1 to count
         dat = TGetFld(q,"DAT")

         dat = DateToNum(dat)
         wk = Div(dat,7)
         x[i] = wk - wk0
                                        
         class = TGetFld(q,"CLASS")
         sum1 = TGetFld(q,"CNT")

         if (class = "A") then
         sum[1] = sum[1] + sum1
         elseif (class = "B") then
         sum[2] = sum[2] + sum1
         elseif (class = "C") then
         sum[3] = sum[3] + sum1
         elseif (class = "D") then
         sum[4] = sum[4] + sum1
         elseif (class = "E") then
         sum[5] = sum[5] + sum1
         endif

         sum[6] = sum[6] + sum1

         y1[i] = sum[1]
         y2[i] = sum[2]
         y3[i] = sum[3]
         y4[i] = sum[4]
         y5[i] = sum[5]
         y6[i] = sum[6]

         call TNext(q)
       next
       call FreeEmbSQL(q)
        
       return
    endif

end_action