'DB data field' return array( 'woid'=> 'woid', 'api_id' => 'api_id', //'externalId'=> 'object_id', // внешний ID при запросе информации //'orderId'=> 'object_id', // внешний ID при создании заказа 'object_id'=> 'object_id', // ID объекта при загрузке из базы 'id'=> 'order_id', // возникает после отправки заказа 'order_id'=> 'order_id', 'number'=> 'number', // нет на форме 'state'=> 'state', // нет на форме 'serviceType'=> 'serviceType', 'objectType'=> 'objectType', 'reportUsageType'=> 'reportUsageType', 'preliminaryCalculationValue'=> 'preliminaryCalculationValue', // нет на форме 'address' => 'address', 'customerName' => 'customerName', 'customerPhone'=> 'customerPhone', // нет в информации 'customerEmail' => 'customerEmail', // нет в информации 'сontactName' => 'сontactName', // ФИО контактного лица 'сontactPhone' => 'сontactPhone', // Номер телефона контактного лица 'сontactEmail' => 'сontactEmail', // Email контактного лица 'bankId' => 'bankId', // нет в информации 'bankManagerName'=> 'bankManagerName', // нет в информации 'bankManagerEmail'=> 'bankManagerEmail', // нет в информации 'managerComment'=> 'managerComment', // нет в информации 'managerEmail'=> 'managerEmail', // нет в информации //'appraisalCompanyId'=> 'appraisalCompanyId', 'contractCost'=> 'contractCost', // нет в информации 'calculationId'=> 'calculationId', // нет в информации 'requestDate' => 'requestDate', // нет на форме 'payed' => 'payed', // нет на форме 'reportPrinted' => 'reportPrinted', // нет на форме 'reportReady' => 'reportReady', 'deliveryRequired' => 'deliveryRequired', 'deliveryAddress' => 'deliveryAddress', 'documentsChecked' => 'documentsChecked', 'inspectionRequired' => 'inspectionRequired', 'inspectionConfirmed' => 'inspectionConfirmed', 'inspectionDate' => 'inspectionDate', 'inspectionContactName' => 'inspectionContactName', 'inspectionContactPhone' => 'inspectionContactPhone', 'inspected'=> 'inspected', 'appraisalManagerName'=> 'appraisalManagerName', 'updateDate'=> 'updateDate', ); } public function __construct(array $fields) { if(isset($fields["woid"])) { $this->woid = $fields["woid"]; } else { $this->woid = 0; } if(isset($fields['object_id'])) { $match = WebAppRaiserDB::matchFieldsToSave($fields, self::valid_fields(), 'woid'); $this->order = $match['fields_to_save']; } //TODO сделать дополнительные запросы цены и картинок } public static function load($object_id, WebAppRaiserAPI $api) { $ordersData = array(); $orders = WebAppRaiserDB::select('war_objects', 'object_id', $object_id); //msg('ORDERS', $orders); $check_point = time() - (5*60); // не чаще одного запроса в 5 минут foreach ($orders as $order) { if($order['api_id'] == $api->get('war_id')){ // Загружаем заказы только если подключено правильное API if($order['updateDate'] < $check_point){ $api->getOrder($order); $fields = WebAppRaiserDB::select('war_objects', 'woid', $order['woid']); $ordersData[$order['woid']] = new WebAppRaiserOrder($fields[0]); } else { $ordersData[$order['woid']] = new WebAppRaiserOrder($order); } } } return $ordersData; } public static function create(array $fields) { //$valid_fields = self::valid_fields(); //$match = WebAppRaiserDB::matchFieldsToSave($fields, $valid_fields, 'woid'); $order = new WebAppRaiserOrder($fields); return $order; } public static function save($fields) { $valid_fields = self::valid_fields(); $woid = WebAppRaiserDB::save('war_objects', $fields, $valid_fields, 'woid'); return $woid; } public static function delete($order_id) { return WebAppRaiserDB::delete('war_objects', 'order_id', $order_id); /*if(isset($this->order['woid'])) { return WebAppRaiserDB::delete('war_objects', 'woid', $this->order['woid']); } elseif(isset($this->order['order_id'])) { return WebAppRaiserDB::delete('war_objects', 'order_id', $this->order['order_id']); } else { return false; } // */ } // Отображение заказа на главной странице заказов. public function render() { $order = $this->order; $header = '
Записей нет.
'; } else { //msg('RECORDS', $records); $output .= '| Дата | '.PHP_EOL; if($is_chat){ $output .= 'Отправитель | '.PHP_EOL; $output .= 'Имя | '.PHP_EOL; } else { $output .= 'Тип события | '.PHP_EOL; } $output .= ''.PHP_EOL; $output .= ' | |
|---|---|---|---|---|---|
| '.date('d.m.Y H:i', $record['date']).' | '.PHP_EOL; if(isset($fields['sourceType'])){ $output .= ''.WebAppRaiserAPI::getDict('ACCOUNT_TYPE', $fields['sourceType']).' | '.PHP_EOL; $output .= ''.$fields['userName'].' | '.PHP_EOL; } else { $output .= ''.WebAppRaiserAPI::getDict('MESSAGE_TYPE', $record['type']).' | '.PHP_EOL; } if(mb_strlen($text) > 120){ $pre_text = mb_substr($text, 0, 120); $post_text = mb_substr($text, 0); $element_id = 'rec-'.$record['id']; $output .= ''.$pre_text.'... подробнее ';
$output .= ' ';
$output .= ' | '.PHP_EOL;
}
else {
$output .= ' '.$text.' | '.PHP_EOL; } $output .= '
Записей нет.
'; } } public function get($name){ if(isset($this->$name)) { return $this->$name; } else { return false; } } }