public function dump() { $columns = array(); foreach (ColumnGroup::search(1) as $columngroup) { $columns[$columngroup->id] = $columngroup->name; } $delta = 10000000; for ($i = 0; $i * $delta < 99999999; $i++) { $start = $i * $delta; $end = $start + $delta - 1; $tmpname1 = tempnam('', ''); $tmpname2 = tempnam('', ''); $file_name1 = 'files/' . str_pad($i * $delta, 8, '0', STR_PAD_LEFT) . '.json.gz'; $file_name2 = 'files/bussiness-' . str_pad($i * $delta, 8, '0', STR_PAD_LEFT) . '.json.gz'; $fp[1] = $fp[3] = gzopen($tmpname1, 'w'); $fp[2] = gzopen($tmpname2, 'w'); $unit_id = null; $unit = new StdClass(); foreach (UnitData::search("`id` >= {$start} AND `id` <= {$end}")->order("`id`, `column_id`")->volumemode(10000) as $unit_data) { if (!is_null($unit_id) and $unit_data->id != $unit_id) { fwrite($fp[$this->getType($unit_id)], str_pad($unit_id, 8, '0', STR_PAD_LEFT) . ',' . json_encode($unit, JSON_UNESCAPED_UNICODE) . "\n"); $unit = new StdClass(); } $unit_id = $unit_data->id; $unit->{$columns[$unit_data->column_id]} = json_decode($unit_data->value); } if (!is_null($unit_id)) { fwrite($fp[$this->getType($unit_id)], str_pad($unit_id, 8, '0', STR_PAD_LEFT) . ',' . json_encode($unit, JSON_UNESCAPED_UNICODE) . "\n"); } fclose($fp[1]); fclose($fp[2]); DropboxLib::putFile($tmpname1, $file_name1); DropboxLib::putFile($tmpname2, $file_name2); unlink($tmpname1); unlink($tmpname2); } }
public static function select($id) { $connection = Flight::dbMain(); try { $sql = "SELECT * FROM unit WHERE id = :id;"; $query = $connection->prepare($sql); $query->bindParam(':id', $id, PDO::PARAM_INT); $query->execute(); if ($query->rowCount() < 1) { return null; } $row = $query->fetch(PDO::FETCH_ASSOC); $unit = new Unit(); $unit->Id = (int) $row['id']; $unit->Imei = $row['unit_imei']; $unit->DtCreated = $row['unit_dt_created']; $unit->SerialNumber = $row['unit_serial_number']; $unit->Sim = Sim::select($row['sim_id']); $unit->UnitStatus = UnitStatus::select($row['e_status_unit_id']); $unit->UnitType = UnitType::select($row['unit_type_id']); $unit->Company = Company::select($row['company_id']); $unit->UnitData = UnitData::select($row['unit_imei']); return $unit; } catch (PDOException $pdoException) { throw $pdoException; } catch (Exception $exception) { throw $exception; } finally { $connection = null; } }
<input type="checkbox" name="is_featured" <?php if ($product->is_featured) { echo "checked"; } ?> > Producto destacado </label> </div> </div> </div> <div class="form-group"> <label for="inputEmail1" class="col-lg-2 control-label">Unidad</label> <div class="col-lg-10"> <?php $categories = UnitData::getAll(); if (count($categories) > 0) { ?> <select name="unit_id" class="form-control"> <option value="">-- SELECCIONE UNIDAD --</option> <?php foreach ($categories as $cat) { ?> <option value="<?php echo $cat->id; ?> " <?php if ($product->unit_id == $cat->id) { echo "selected"; } ?>
public function updateData($data) { $data = (array) $data; $old_data = array(); foreach (UnitData::search(array('id' => $this->id)) as $unitdata) { $old_data[$unitdata->column_id] = $unitdata->value; } $add_data = $delete_data = $modify_data = array(); foreach ($data as $column => $value) { $column_id = ColumnGroup::getColumnId($column); if (!array_key_exists($column_id, $old_data)) { $add_data[] = $column_id; } elseif (json_encode($value, JSON_UNESCAPED_UNICODE) != $old_data[$column_id]) { $modify_data[] = $column_id; } } foreach ($old_data as $column_id => $value) { if (!array_key_exists(ColumnGroup::getColumnName($column_id), $data)) { $delete_data[] = $column_id; } } if (count($add_data) + count($modify_data) + count($delete_data) == 0) { return; } $now = time(); foreach ($add_data as $column_id) { $value = json_encode($data[ColumnGroup::getColumnName($column_id)], JSON_UNESCAPED_UNICODE); UnitData::insert(array('id' => $this->id, 'column_id' => $column_id, 'value' => $value)); UnitChangeLog::insert(array('id' => $this->id, 'updated_at' => $now, 'column_id' => $column_id, 'old_value' => '', 'new_value' => $value)); } foreach ($modify_data as $column_id) { $value = json_encode($data[ColumnGroup::getColumnName($column_id)], JSON_UNESCAPED_UNICODE); $unitdata = UnitData::find(array($this->id, $column_id)); $unitdata->update(array('value' => json_encode($data[ColumnGroup::getColumnName($column_id)], JSON_UNESCAPED_UNICODE))); try { UnitChangeLog::insert(array('id' => $this->id, 'updated_at' => $now, 'column_id' => $column_id, 'old_value' => $old_data[$column_id], 'new_value' => $value)); } catch (Pix_Table_DuplicateException $e) { } } foreach ($delete_data as $column_id) { try { UnitChangeLog::insert(array('id' => $this->id, 'updated_at' => $now, 'column_id' => $column_id, 'old_value' => $old_data[$column_id], 'new_value' => '')); } catch (Pix_Table_DuplicateException $e) { } UnitData::find(array($this->id, $column_id))->delete(); } $this->update(array('updated_at' => $now)); }
public function getUnit() { return UnitData::getById($this->unit_id); }
} if (count($unit_names)) { // 1 - 公司 foreach (UnitData::search(array('column_id' => 2))->searchIn('id', $units[1]) as $unitdata) { $unit_names[$unitdata->id] = $unitdata->value; } // 2 - 商業登記 foreach (UnitData::search(array('column_id' => 33))->searchIn('id', $units[2]) as $unitdata) { $unit_names[$unitdata->id] = $unitdata->value; } // 3 - 分公司 foreach (Unit::search(1)->searchIn('id', $units[3]) as $unit) { $unit_names[$unit->id] = json_encode($unit->name()); } // 4 - 教育部, 99 - 其他 foreach (UnitData::search(array('column_id' => 43))->searchIn('id', array_merge($units[4], $units[99])) as $unitdata) { $unit_names[$unitdata->id] = $unitdata->value; } foreach ($unit_names as $id => $value) { $rows = array(); $rows[] = str_pad($id, 8, '0', STR_PAD_LEFT); $rows[] = $type_names[$types[$id]]; $v = json_decode($value); if (is_array($v)) { $rows[] = $v[0]; } else { $rows[] = strval($v); } fputcsv($fp, $rows); } $units = $unit_names = $types = array();
} }); Flight::route('POST /v1/session/logout', function () { try { $object = Session::logout(); Flight::ok($object); } catch (Exception $exception) { Flight::error($exception); } }); //============================================================================= //UnitData //============================================================================= Flight::route('GET /v1/data/unitdata/@id', function ($id) { try { $object = UnitData::select($id); Flight::ok($object); } catch (Exception $exception) { Flight::error($exception); } }); //============================================================================= //Poi //============================================================================= Flight::route('GET /v1/main/poi', function () { $company = Flight::request()->query->company; try { if ($company) { $array = Poi::selectByCompany($company); } else { $array = Poi::selectAll();
} // 匯入檔的格式 class ImportData extends Pix_Table { public function init() { $this->_name = 'data'; $this->_primary = 'no'; $this->_columns['no'] = array('type' => 'varchar'); $this->_columns['data'] = array('type' => 'text'); } } $db = new Pix_Table_Db_Adapter_Sqlite($file); ImportData::setDb($db); $wdb = UnitData::getDb(); $table = UnitData::getTable(); $insert_data = array(); $insert_unit = array(); foreach (ImportData::search(1)->order('no')->volumemode(10000) as $importdata) { $data = json_decode($importdata->data); // 只處理商業登記 if ('商業登記' !== $data->{'類型'}) { continue; } $insert_unit[] = "(" . intval($importdata->no) . ", 2, {$data->fetch_at})"; foreach ($data as $name => $value) { // 類型和商業統一編號不需要了 $name = trim($name); if (in_array($name, array('類型', '商業統一編號', 'fetch_at'))) { continue; }