fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [8910]


From: Torstein
Subject: [Fmsystem-commits] [8910]
Date: Fri, 17 Feb 2012 09:32:11 +0000

Revision: 8910
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=8910
Author:   vator
Date:     2012-02-17 09:32:10 +0000 (Fri, 17 Feb 2012)
Log Message:
-----------


Modified Paths:
--------------
    trunk/controller/inc/class.uicalendar.inc.php
    trunk/controller/inc/component/class.calendar_builder.inc.php

Modified: trunk/controller/inc/class.uicalendar.inc.php
===================================================================
--- trunk/controller/inc/class.uicalendar.inc.php       2012-02-17 08:51:35 UTC 
(rev 8909)
+++ trunk/controller/inc/class.uicalendar.inc.php       2012-02-17 09:32:10 UTC 
(rev 8910)
@@ -269,13 +269,13 @@
                        foreach($locations_for_control_array as $location)
                        {
                                
$control->set_location_code($location["location_code"]);
-                               $controls_calendar_array = 
$this->calendar_builder->build_agg_calendar_array($controls_calendar_array, 
$control, $location["location_code"], $year);
+                               $controls_calendar_array = 
$this->calendar_builder->build_agg_calendar_array_2($controls_calendar_array, 
$control, $location["location_code"], $year);
                                //_debug_array($controls_calendar_array);
                                $control_check_list_array = 
$this->so->get_check_lists_for_location( $location["location_code"], 
$from_date_ts, $to_date_ts, $control->get_repeat_type(), $control->get_id() );
                                //_debug_array($controls_check_list_array);
                        }
                        
-                       $controls_calendar_array = 
$this->calendar_builder->build_calendar_array( $controls_calendar_array, 
$control_check_list_array, 12, "view_months" );
+                       $controls_calendar_array = 
$this->calendar_builder->build_calendar_array_2( $controls_calendar_array, 
$control_check_list_array, 12, "view_months" );
                        
                        //_debug_array($controls_calendar_array);
                        

Modified: trunk/controller/inc/component/class.calendar_builder.inc.php
===================================================================
--- trunk/controller/inc/component/class.calendar_builder.inc.php       
2012-02-17 08:51:35 UTC (rev 8909)
+++ trunk/controller/inc/component/class.calendar_builder.inc.php       
2012-02-17 09:32:10 UTC (rev 8910)
@@ -96,4 +96,126 @@
 
                return $controls_calendar_array;
        }
+       
+       public function build_agg_calendar_array_2($controls_calendar_array, 
$control, $location_code, $year){
+                               
+               if( date("Y", $control->get_start_date()) == $year ){
+                       $from_month = date("n", $control->get_start_date());    
+               }else{
+                       $from_month = 1;
+               }
+               
+               if( date("Y", $control->get_end_date()) == $year ){
+                       $to_month = date("n", $control->get_end_date());
+               }else{
+                       $to_month = 12;
+               }
+               
+               /*
+               $todays_date_ts = mktime(0,0,0,date("m"), date("d"), date("Y"));
+               
+               $twelve_month_array = array();
+               
+               
+               for($i=1;$i<=12;$i++){
+                       $trail_date_ts = strtotime("$i/01/$year");
+
+                       if($trail_date_ts > $control->get_start_date() & 
$trail_date_ts < $todays_date_ts){
+                               $status = "controls_not_accomplished";
+                       }else if($trail_date_ts > $control->get_start_date() & 
$trail_date_ts > $todays_date_ts){
+                               $status = "controls_registered";
+                       }       
+
+                       $twelve_month_array[$i-1]["status"] = $status;
+               }
+               */
+               
+               for($from_month;$from_month<=$to_month;$from_month++){
+       
+                       $trail_from_date_ts = strtotime("$from_month/01/$year");
+                       
+                       $trail_to_date_ts = strtotime("$to_month/01/$year");
+                       $so_check_list = 
CreateObject('controller.socheck_list');
+                               
+                       $num_open_cases_for_control_array = array();
+                       $num_open_cases_for_control_array = 
$so_check_list->get_num_open_cases_for_control( $control->get_id(), 
$location_code, $trail_from_date_ts, $trail_to_date_ts );       
+       
+                       if( !empty($num_open_cases_for_control_array) ){
+                               $status = "controls_accomplished_with_errors";
+                               
+                               $twelve_month_array[$from_month-1]["status"] = 
$status;
+                               $twelve_month_array[$from_month-1]["info"] = 
$num_open_cases_for_control_array["count"];
+                       }else if( empty($num_open_cases_for_control_array) &  
$todays_date_ts > $trail_to_date_ts){
+                               $status = 
"controls_accomplished_without_errors";
+                               
+                               $twelve_month_array[$from_month-1]["status"] = 
$status;
+                       }
+               }
+       
+               $controls_calendar_array[] = array("control" => 
$control->toArray(), "calendar_array" => $twelve_month_array);
+                
+               return $controls_calendar_array;
+       }
+       
+       public function build_calendar_array_2( $controls_calendar_array, 
$control_array, $num, $period_type ){
+               
+               foreach($control_array as $control){
+
+                       $calendar_array = $this->init_calendar( $control, 
$calendar_array, $num, $period_type );
+
+                       foreach($control->get_check_lists_array() as 
$check_list){
+                               
+                               $check_list_status_info = new 
check_list_status_info();
+                               $check_list_status_info->set_check_list_id( 
$check_list->get_id() );
+               
+                               $todays_date_ts = mktime(0,0,0,date("m"), 
date("d"), date("Y"));
+
+                               if( $check_list->get_status() == 0 & 
$check_list->get_planned_date() > 0 & $check_list->get_deadline() > 
$todays_date_ts)
+                               {
+                                       $status = "control_planned";
+                               }
+                               else if( $check_list->get_status() == 0 & 
$check_list->get_planned_date() > 0 & $check_list->get_deadline() < 
$todays_date_ts )
+                               {
+                                       $status = 
"control_not_accomplished_with_info";
+                               }
+                               else if( $check_list->get_status() == 0 & 
$check_list->get_deadline() < $todays_date_ts )
+                               {
+                                       $status = "control_not_accomplished";
+                               }
+                               else if( $check_list->get_status() == 1 & 
$check_list->get_completed_date() > $check_list->get_deadline() & 
$check_list->get_num_open_cases() == 0)
+                               {
+                                       $status = 
"control_accomplished_over_time_without_errors";
+                               }
+                               else if( $check_list->get_status() == 1 & 
$check_list->get_completed_date() < $check_list->get_deadline() & 
$check_list->get_num_open_cases() == 0)
+                               {
+                                       $status = 
"control_accomplished_in_time_without_errors";
+                               }
+                               else if( $check_list->get_status() == 1 & 
$check_list->get_num_open_cases() > 0){
+                                       $status = 
"control_accomplished_with_errors";
+                                       
$check_list_status_info->set_num_open_cases($check_list->get_num_open_cases());
+                               }
+                               else if( $check_list->get_status() == 3 )
+                               {
+                                       $status = "control_canceled";
+                               }
+                               
+                               $check_list_status_info->set_deadline_date( 
date("d/m-Y", $check_list->get_deadline()) );
+                               
+                               if($period_type == "view_months")
+                               {
+                                       $calendar_array[ date("n", 
$check_list->get_deadline()) ]["status"] = $status;
+                                       $calendar_array[ date("n", 
$check_list->get_deadline()) ]["info"] = $check_list_status_info->serialize();  
     
+                               }
+                               else if( $period_type == "view_days" )
+                               {
+                                       $calendar_array[ date("j", 
$check_list->get_deadline()) ]["status"] = $status;
+                                       $calendar_array[ date("j", 
$check_list->get_deadline()) ]["info"] = $check_list_status_info->serialize();
+                               }
+                       }
+                       
+                       $controls_calendar_array[] = array("control" => 
$control->toArray(), "calendar_array" => $calendar_array);
+               }
+
+               return $controls_calendar_array;
+       }
 }
\ No newline at end of file




reply via email to

[Prev in Thread] Current Thread [Next in Thread]