コード例 #1
0
 function installer_schedule_list()
 {
     App::uses('InstallerSchedule', 'ScheduleManager.Model');
     $installerScheduleModel = new InstallerSchedule();
     $installerSchedules = $installerScheduleModel->find('all');
     //debug($installerSchedules);exit;
     $tmp_installerSchedules = array();
     foreach ($installerSchedules as $installerSchedule) {
         if (!array_key_exists($installerSchedule['InstallerSchedule']['installer_id'], $tmp_installerSchedules)) {
             $tmp_installerSchedules[$installerSchedule['InstallerSchedule']['installer_id']] = array();
         }
         $address = $this->address_format($installerSchedule['InstallerSchedule']['address'], $installerSchedule['InstallerSchedule']['city'], $installerSchedule['InstallerSchedule']['province'], $installerSchedule['InstallerSchedule']['country'], $installerSchedule['InstallerSchedule']['postal_code']);
         $new_array = array("work_order_number" => $installerSchedule['WorkOrder']['work_order_number'], "name" => $installerSchedule['InstallerSchedule']['name'], "address" => $address);
         $tmp_installerSchedules[$installerSchedule['InstallerSchedule']['installer_id']][$installerSchedule['InstallerSchedule']['start_install']] = $new_array;
         for ($i = 1; $i <= $installerSchedule['InstallerSchedule']['number_of_days'] - 1; $i++) {
             $inc_day = date('Y-m-d', strtotime("+" . $i . " days", strtotime($installerSchedule['InstallerSchedule']['start_install'])));
             $tmp_installerSchedules[$installerSchedule['InstallerSchedule']['installer_id']][$inc_day] = $new_array;
         }
     }
     return $tmp_installerSchedules;
 }
コード例 #2
0
 public function calendar_data()
 {
     $this->autoRender = false;
     $start_date = date('Y-m-d', $this->request->query['start']);
     $end_date = date('Y-m-d', $this->request->query['end']);
     //    debug($start_date);
     //    debug($end_date);
     App::import('Model', 'ScheduleManager.ServiceEntry');
     $serviceEntryModel = new ServiceEntry();
     $serviceEntryData = $serviceEntryModel->find('all', array('conditions' => array('ServiceEntry.booked_for >' => $start_date, 'ServiceEntry.booked_for <=' => $end_date)));
     //    debug($serviceEntryData);
     App::import('Model', 'ScheduleManager.InstallerSchedule');
     $installerScheduleModel = new InstallerSchedule();
     $installerScheduleData = $installerScheduleModel->find('all', array('conditions' => array('InstallerSchedule.start_install >' => $start_date, 'InstallerSchedule.start_install <=' => $end_date)));
     //    debug($installerScheduleData);
     App::import('Model', 'ScheduleManager.Appointment');
     $appointmentModel = new Appointment();
     $start_date = date('Y-m-d H:i:s', $this->request->query['start']);
     $end_date = date('Y-m-d H:i:s', $this->request->query['end']);
     $appointmentData = $appointmentModel->find('all', array('conditions' => array('Appointment.start_date >' => $start_date, 'Appointment.end_date <=' => $end_date)));
     //    debug($appointmentData);
     $calendarData = array();
     $calendarData = $this->Calendar->dataFormat('Service', $serviceEntryData, $calendarData);
     $calendarData = $this->Calendar->dataFormat('Installation', $installerScheduleData, $calendarData);
     $calendarData = $this->Calendar->dataFormat('Appointment', $appointmentData, $calendarData);
     echo json_encode($calendarData);
 }