Исходний код программы. Диспетчерская часть
Receiver.php
<?
/** Имя базы данных */
define('DB_NAME', LOGIN_default');
/** Имя пользователя MySQL */
define('DB_USER', LOGIN_default');
/** Пароль к базе данных MySQL */
define('DB_PASSWORD', 'PASSWORD');
/** Имя сервера MySQL */
define('DB_HOST', '127.0.0.1');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die ("Невозможно подключиться к MySQL");
$user = mysql_real_escape_string($_GET['user']);
$password = mysql_real_escape_string($_GET['password']);
$lat = mysql_real_escape_string($_GET['lat']);
$lon = mysql_real_escape_string($_GET['lon']);
$status = mysql_real_escape_string($_GET['status']);
$status_text = mysql_real_escape_string($_GET['status_text']);
mysql_select_db (DB_NAME);
// http://yamashkin.ru/?user=user&password=pass&lat=45.324&lon=54.634345&status="авария"&status_text="отличный день!"
$query = "SELECT * FROM USERS WHERE USER='$user' AND PASSWORD='$password'";
$aut = mysql_query ($query) or die ("Невозможно добавить");
$row = mysql_fetch_row($aut);
$id = $row[0];
if ($row[0]>=1)
{
mysql_query("SET NAMES 'utf8'");
$query = "INSERT INTO USER_STATE (ID_USER, LAT, LON, STATUS, STATUS_TEXT) VALUES ('$id','$lat','$lon','$status','$status_text')";
mysql_query ($query) or die ("Невозможно добавить");
}
else
{
}
?>
Dispatcher.php
<html>
<head>
<title>Windrose 2012 Dispatcher</title>
<link rel="stylesheet" href="/leaflet/dist/leaflet.css" />
<link rel="stylesheet" href="/style.css" />
<!--[if lte IE 8]>
<link rel="stylesheet" href="/leaflet/dist/leaflet.ie.css" />
<![endif]-->
<script src="/leaflet/dist/leaflet.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script src="/ts/jquery.tablesorter.js"></script>
</head>
<body>
<div id="map" style="height: 600px"></div>
<script>
var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/99558b6adf554346afa9ca70bf6104dc/{styleId}/256/{z}/{x}/{y}.png',
cloudmadeAttribution = 'Windrose 2012 Dispatcher',
cloudmadeOptions = {maxZoom: 18, attribution: cloudmadeAttribution};
var minimal = new L.TileLayer(cloudmadeUrl, cloudmadeOptions, {styleId: 22677}),
midnightCommander = new L.TileLayer(cloudmadeUrl, cloudmadeOptions, {styleId: 999}),
normal = new L.TileLayer(cloudmadeUrl, cloudmadeOptions, {styleId: 1})
var map = new L.Map('map', {
center: new L.LatLng(54.184841, 45.174256),
zoom: 13,
layers: [normal]
});
var baseMaps = {
"Minimal": minimal,
"Night View": midnightCommander,
"Normal": normal
};
var layersControl = new L.Control.Layers(baseMaps);
map.addControl(layersControl);
var last_marker =[0,0,0,0,0,0,0,0,0];
var marker = new Array();
var LeafIcon = L.Icon.extend({
iconUrl: '/img/leaf-green.png',
shadowUrl: '/img/leaf-shadow.png',
iconSize: new L.Point(38, 95),
shadowSize: new L.Point(68, 95),
iconAnchor: new L.Point(22, 94),
popupAnchor: new L.Point(-3, -76)
});
var greenIcon = new LeafIcon(),
redIcon = new LeafIcon('/img/leaf-red.png'),
orangeIcon = new LeafIcon('/img/leaf-orange.png');
blueIcon = new LeafIcon('/img/leaf-blue.png');
function show()
{
$.ajax({
url: "get_user.php",
cache: false,
dataType: 'json',
success: function(response){
table_content = "<table id=\"user_table\"><thead><tr><th class=\"th_name\">Имя</th><th class=\"th_phone\">Контактный телефон</th><th class=\"th_s\">Статус</th><th class=\"th_sm\">Статусное сообщение</th><th class=\"th_tm\">Время</th></tr></thead><tbody>";
for (i=0;i<response.length;i++)
{
if (response[i] != false) {
markerLocation = new L.LatLng(parseFloat(response[i][2]), parseFloat(response[i][3]));
if (last_marker[i] == 0) {
if (response[i][4] == "Свободен") marker[i] = new L.Marker(markerLocation, {icon: greenIcon});
if (response[i][4] == "Выполняю заказ") marker[i] = new L.Marker(markerLocation, {icon: blueIcon});
if (response[i][4] == "Перерыв в работе") marker[i] = new L.Marker(markerLocation, {icon: orangeIcon});
if (response[i][4] == "Авария") marker[i] = new L.Marker(markerLocation, {icon: redIcon});
map.addLayer(marker[i]);
}
if (last_marker[i] == 1) {
marker[i].setLatLng(markerLocation);
}
last_marker[i] = 1;
marker[i].bindPopup("<b>"+response[i][0]+"</b><br />"+response[i][5]);
table_content += "<tr><td>"+response[i][0]+"</td><td>"+response[i][1]+"</td><td>"+response[i][4]+"</td><td>"+response[i][5]+"</td><td>"+response[i][6]+"</td></tr>";
}
else
{
last_marker[i] = 0;
}
}
table_content += "</tbody></table>";
document.getElementById("test").innerHTML=table_content;
}
});
}
$(document).ready(function(){
show();
setInterval('show()',1000);
});
</script>
<div id="test"></div>
</body>
</html>
Get_user.php
<?
function json_encode_x ($in) {
return html_entity_decode(
preg_replace(
'/\\\&#x([0-9a-fA-F]{3});/',
'\\\\\u0$1',
preg_replace(
'/\\\u0([0-9a-fA-F]{3})/',
'&#x$1;',
json_encode($in)
)
),
ENT_NOQUOTES,
'utf-8'
);
}
/** Имя базы данных */
define('DB_NAME', LOGIN_default');
/** Имя пользователя MySQL */
define('DB_USER', LOGIN_default');
/** Пароль к базе данных MySQL */
define('DB_PASSWORD', PASSWORD);
/** Имя сервера MySQL */
define('DB_HOST', '127.0.0.1');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die ("Невозможно подключиться к MySQL");
mysql_select_db (DB_NAME);
mysql_query ("set names utf8");
$query = "SELECT * FROM USERS";
$result = mysql_query ($query) or die ("Ошибка");
$id_array = array();
while ($row = mysql_fetch_row($result))
{
array_push ($id_array,$row[0]);
}
$locate_array = array();
foreach ($id_array as $key => $value) {
$query = "SELECT USERS.NAME, USERS.PHONE, USER_STATE.LAT, USER_STATE.LON, USER_STATE.STATUS, USER_STATE.STATUS_TEXT, USER_STATE.TIME FROM USERS,USER_STATE WHERE USERS.ID_USER=USER_STATE.ID_USER AND USERS.ID_USER = '$value' ORDER BY USER_STATE.TIME DESC LIMIT 1";
$result = mysql_query ($query) or die ("Ошибка");
$row = mysql_fetch_row($result);
array_push ($locate_array,$row);
}
echo json_encode_x($locate_array);
?>
- Содержание
- Введение
- 1 Анализ предметной области
- 2 Определение способа реализации
- 2.1 Выбор аппаратной платформы
- 2.2 Выбор операционной системы
- 2.2.1 Особенности архитектуры ос Android
- 2.3 Выбор средств разработки и тестирования
- 2.3.1 Язык Java
- 2.3.3 Интегрированная среда разработки Eclipse
- 3 Функциональные требования к системе
- 4 Разработка проекта
- 4.1 Обзор и решение ключевых задач
- 4.1.1 Определения текущего местоположения
- 4.1.2 Прокладка оптимального маршрута
- 4.1.3 Особенности построения графа дорог в OpenStreetMap
- 4.1.4 Поиск оптимального маршрута
- 4.1.5 Прогнозирование времени прохождения маршрута
- 4.1.6 Диспетчеризация
- 4.2 Графический интерфейс системы
- 4.2.1 Интерфейс арм Курьера
- 4.2.2 Интерфейс арм Диспетчера
- 4.3 Развертывание системы
- 5 Технико-экономическое обоснование дипломного проекта
- 5.1 Swot-анализ
- 5.2 Pest-анализ
- 5.3 Расчет экономических показателей
- 5.4 Расчет затрат на разработку программы
- 5.5 Расчет цены разработанной программы
- 5.6 Расчет капитальных вложений
- 5.7 Расчет эксплуатационных расходов
- 5.8 Расчет денежного годового экономического эффекта
- 6 Безопасность и экологичность дипломного проекта
- 6.1 Электробезопасность
- 6.2 Электромагнитные излучения
- 6.3 Требования к эргономике, освещенности, уровню шума и
- 6.4 Пожарная безопасность
- Заключение
- Список использованных источников
- Приложение а
- Исходний код программы. Курьерская часть
- Приложение б
- Исходний код программы. Диспетчерская часть
- Приложение в
- Графический материал