Программа автоматизации учета граждан для отдела таможенного контроля

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    534,6 Кб
  • Опубликовано:
    2012-10-02
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Программа автоматизации учета граждан для отдела таможенного контроля

Введение

Таможня - государственный орган, обеспечивающий порядок перемещения через таможенную границу товаров и транспортных средств, грузов и иных предметов, применение таможенных режимов и взимание таможенных платежей, производящий таможенный контроль и таможенное оформление.

В каждой цивилизованной стране нашего мира существует таможня. Таким образом, правительство следит за гражданами въезжающих и покидающих страну, накладывает пошлину и производит конфискацию товаров и грузов, не удовлетворяющих условиям ввоза или вывоза данного государства.

Отдел таможенного контроля (далее ОТК) выполняет функции учета физических лиц. На постах на границе, в аэропорту, на станциях железнодорожного пути дальнего следования производится контроль по въезду и выезду как граждан РФ, так и иностранцев. Процесс досмотра груза, регистрации граждан и составления акта требует большого количества времени, что способствует замедлению прохождения через границу.

Таким образом, появилась задача по автоматизации учета граждан для увеличения скорости оформления актов на каждого пассажира, быстрому доступу к его истории, создания отчетов.

1. Постановка и анализ задачи

.1 Описание предметной области

Программа написана для отдела таможенного контроля. Данный отдел ведет контроль физических лиц передвигающихся через границу. Каждое транспортное средство проходит регистрацию на посту и на каждого пассажира создается акт досмотра, который содержит информацию о количестве килограммов перевозимого товара, номер дела об административном правонарушении и штраф за него, наличие ПТД на товары, количество изъятого товара, ГТД, АТД, перевозимая валюта и ее количество, а также другие пункты. При досмотре инспекторам часто требуется знать историю прохождения пассажира через границу, его нарушения, штрафы и другую информацию. Поиск данных сведений занимает много времени, что является одной из причин замедления скорости прохождения и оформления.

Для того, чтоб сократить время прохождения регистрации на постах досмотра было решено автоматизировать процесс учета. Процесс должен состоять из регистрации транспортного средства, оформления и составления акта досмотра на каждого пассажира. Также должен быть быстрый доступ к истории данного гражданина, составление отчетов для авторейсов и авиарейсов, как на въезд, так и на выезд.

Так как данная программа будет использоваться на отдаленных участках и возможности передавать данные по сети будут отсутствовать, следует предусмотреть выгрузку данных.

Должна присутствовать авторизация пользователей, а также распределение доступа к данным. Варианты использования представлены в приложении А.

1.2 Выбор средств реализации

Для реализации программы был выбран язык C#, так как он использует библиотеки Windows Net Framework, что гарантирует стабильную работу на семействе операционных систем компании Microsoft. По требованиям отдела таможни программа должна обрабатывать данные с максимальной скоростью при минимальных затратах. Поэтому для хранения базы данных был использован сервер MySql 5.0, так как он использует минимум памяти (400 мегабайт на диске) и является бесплатным, в отличие от полных версий серверов Microsoft Sql Server, которые требуют больших объемов памяти (от 800 мегабайт) и являются платными.

2. Анализ данных

Входными данными программы являются: сведения о пассажирах, авторейсах, авиарейсах.

Пассажир - это лицо, на которое составляется акт досмотра. Данные о пассажире:

фамилия;

имя;

отчество;

серия и номер паспорта;

гражданство.

Данные об авиарейсе:

регистрационный номер;

страна отправления;

страна назначения;

дата прилета/вылета;

номер рейса;

тип воздушного судна;

бортовой номер;

наименование перевозчика;

количество авиационных накладных;

страна производства транспортного средства;

список пассажиров.

Данные об авторейсе:

страна отправления;

страна назначения;

дата въезда/выезда;

номер автомобиля;

категория;

марка;

страна производства транспортного средства;

список пассажиров.

После добавления в список пассажиров рейса нового пассажира заполняются данные акта досмотра:

пассажир;

рейс;

вес товара, ввоз без пошлины;

вес товара, ввоз с пошлиной;

вес товара, вывоз;

вес товара, обратный вывоз;

вес товара, временный ввоз/вывоз;

наличие пассажирской таможенной декларации (далее ПТД);

перемещаемая валюта;

номер таможенного приходного ордера (далее ТПО) и сумма штрафа;

административно-территориальное деление (далее АТД);

номер дела об АП и сумма штрафа;

грузовая таможенная декларация (далее ГТД);

количество изъятого товара;

прочая дополнительная информация.

Инспектор - пользователь управляющий программой, который регистрирует на свое имя рейсы и акты. Инспекторы делятся на два вида: администратор и обычный пользователь. Только администратор может удалять данные и работать со списком пользователей.

Список пассажиров рейса содержит ссылки на рейс и пассажиров. Категория - это вариант вида рейса.

Существует два справочника: страны и категории. Справочник стран используется при регистрации рейсов, а также при добавлении пассажира. Справочник категорий используется при регистрации рейсов и указывает тип рейса: пассажирский, товарный, военный и т.д.

Так как пассажир может перевозить свои денежные средства в виде нескольких валют существует список валют для каждого акта.

Выходными данными являются отчеты за определенный период по различным требованиям.

)        отчеты по авиарейсам:

въезд;

выезд;

дела об АП;

вывоз обратно.

) отчеты по авторейсам:

въезд;

выезд;

дела об АП;

вывоз обратно.

Примеры отчетов представлены в приложении Б.

Также в программе производится автоматический подсчет количества перемещений через границу каждого пассажира.

Для хранения данных используется 9 таблиц, описание которых приведено в таблице 1.

Таблица 1 - Таблицы базы данных

Название таблицы

Описание

passenger

Таблица пассажиров

flight

Таблица авиарейсов

avto

Таблица авторейсов

act

Таблица актов досмотра

inspector

Таблица инспекторов

list_flight

Таблица списков пассажиров рейсов

list_valute

Таблица перевозимой валюты

country

Таблица стран

category

Таблица категорий транспортных средств



В таблице актов хранятся ID ключи на пассажира и на список пассажиров рейса. В списке пассажиров рейса хранится ID ключ пассажира для сохранения транзакции (удаление пассажира приведет к удалению из всех списков пассажиров рейсов и удалению всех актов, связанных с данным пассажиром) и ID ключ авиарейса или авторейса, в зависимости от установленного флага. Таблица List_Valute хранит ID акта, перевозимую валюту и ее количество.

В таблице актов в поле «Перевозимая валюта» хранится общая сумма в долларах подсчитанная на момент заполнения валют. В данной организации существует своя система оповещения работников об актуальных котировках валют: каждый день обновляется файл с расширением «DBF» на сервере Читинской таможни. Поэтому при запуске приложения происходит подключение к данному файлу и производится заполнение списка последних котировок валют.

Для удобства данной программы существует файл конфигураций, который хранит в себе информацию:

путь к последней открытой базе данных;

настройки отображения полей таблиц;

путь к файлу котировок валют;

номер учреждения.

Описание полей таблиц базы данных приведено в приложении В, а их связи в приложении Г.

3. Программная реализация

С помощью ООП было создано 7 классов: ClassInspector, ClassPassenger, ClassAct, ClassFlight, ClassAvto, ClassList, WorkXML. Диаграмма классов представлена в соответствии с рисунком 1.

Рисунок 1 - Диаграмма классов

Описание классов представлено в таблице 2.

Таблица 2 - Описание классов

Название класса

Описание

ClassInspector

Класс для работы с таблицей инспекторов. Позволяет добавить, изменить, удалить запись из таблицы. Проверяет правильность данных авторизации, возвращает дополнительную информацию о инспекторе, а так же полную информацию по всей записи. Генерирует ключ.

ClassPassenger

Класс для работы с таблицей пассажиров. Позволяет добавить, изменить, удалить запись из таблицы. Возвращает полную запись, проверяет ключи, обновляет поле количества перемещений.

Название класса

Описание

ClassAct

Класс для работы с таблицей актов. Позволяет добавить, изменить, удалить запись из таблицы. Также возвращает полную запись и проверяет ключи.

ClassFlight

Класс для работы с таблицей авиарейсов. Позволяет добавить, изменить, удалить запись из таблицы. Возвращает полную запись, проверяет ключи, генерирует регистрационный номер.

ClassAvto

Класс для работы с таблицей авторейсов. Позволяет добавить, изменить, удалить запись из таблицы. Также возвращает полную запись и проверяет ключи.

ClassList

Класс для работы с таблицей списка пассажиров. Позволяет добавить, удалить запись. Возвращает список пассажиров на рейс и производит проверку на присутствие в списке.

WorkXML

Класс для работы с файлами типа xml. Позволяет создать новый файл, прочитать данные из файла и записать их в файл.


У всех классов, кроме WorkXML, присутствует одно поле MS типа MySqlStruct [1]. Данная структура содержит в себе несколько полей:

connection - данное поле хранит в себе подключение к базе данных сервера MySql и требуется для выполнения запросов;

key_i - поле, хранящее в себе ключ инспектора, от имени которого работает пользователь;

nameuser - поле, хранящее дополнительную информацию о инспекторе (ФИО, личный номер);

admin - поле, хранящее информацию о правах данного инспектора;

list - список валют, который заполняет из файла валют при запуске приложения.

Также присутствует два метода для данной структуры:

GetConnection - возвращает поле connection;

SqlRun - выполняет запрос.

Благодаря данной структуре из любой части программы можно получить доступ к информации об авторизованном инспекторе, а так же выполнить запрос или воспользоваться данными о валютах.

Файл валют имеет следующую структуру:

BUK - буквенное обозначение валюты;

KOL - количество;

OKURS - курс к рублю;

DATA - дата обновления.

Выборка происходит по последней дате и сортируется по буквенному обозначению валюты, а далее представлен запрос [2].

SELECT BUK, KOL, OKURS, DATA FROM " + temppath + " p INNER JOIN (SELECT MAX(p1.DATA) AS Expr1, p1.BUK AS Expr2 FROM " + temppath + " p1 GROUP BY p1.BUK) AS zz ON (zz.Expr1=p.DATA) AND (zz.Expr2 = p.BUK) ORDER BY p.BUK

В этом запросе temppath указывает путь к файлу валют.

Так как связи таблиц имеют сложную структуру, большое внимание было уделено отчетам. Отчеты разделены на две категории:

отчеты по авиарейсам;

отчеты по авторейсам.

Запросы отчетов по обеим категориям одинаковы, различие состоит лишь в состоянии флага, который отвечает за вид рейса. Также отчеты делятся на 4 подкатегории:

въезд;

выезд;

дела об АП;

вывоз обратно.

В категориях «въезд» и «выезд» составляются отчеты по данным:

количество физических лиц;

количество граждан РФ;

количество иностранных граждан;

количество транспортных средств;

количество транспортных средств РФ;

количество иностранных транспортных средств;

перевезенная валюта в долларах США;

вес товаров, ввезенных без уплаты таможенных платежей;

вес товаров, при ввозе которых подлежат уплате таможенные платежи;

сумма взысканных платежей для товаров, при ввозе которых подлежат уплате таможенные платежи.

В категории «дела об АП» составляются отчеты по данным:

количество возбужденных дел об АП;

количество взысканных штрафов по делам об АП;

количество изъятого товара.

В категории «вывоз обратно» составляется отчет по количеству товара, вывезенного обратно.

Примеры отчетов представлены в приложении Б.

Рассмотрим несколько примеров запросов для отчетов [3].

Запрос, возвращающий количество физических лиц зафиксированных на рейсах, которые проходили за определенный период:

SELECT COUNT(list_flight.key_p) FROM flight INNER JOIN list_flight ON flight.reg_num = list_flight.key_f WHERE ((flight.bool_ = " + BOOL + ") AND (flight."+FilterDate()+"))

Въезд или выезд определяется с помощью переменной “BOOL”, а период определяется методом FilterDate представленным далее:

public string FilterDate()

{string temp = "date_ BETWEEN '" + dateTimePicker1.Value.Year + "-" + dateTimePicker1.Value.Month + "-" + dateTimePicker1.Value.Day + " 00:00:00' AND ";+= "'" + dateTimePicker1.Value.Year + "-" + dateTimePicker1.Value.Month + "-" + dateTimePicker1.Value.Day + " 23:59:59'";

return temp;}

Данный метод формирует условие, для запроса используя установленные пользователем данные. Запрос опирается на поле “date”, которое отвечает за дату оформления рейса. Таким образом, можно получать отчеты за определенный период.

Запрос, возвращающий сумму перевозимой валюты в долларах со всех актов, оформленных на пассажиров рейсов, регистрируемых за определенный период:

SELECT SUM(act.money) AS Expr1 FROM flight INNER JOIN list_flight ON flight.reg_num = list_flight.key_f INNER JOIN act ON list_flight.key_l = act.key_f WHERE (flight.bool = '" + BOOL + "') AND (flight."+FilterDate()+")

Запрос, возвращающий количество изъятого товара из актов, оформленных на пассажиров рейсов, регистрируемых за определенное время.

SELECT SUM(act.count_recall) AS Expr1 FROM list_flight INNER JOIN Act ON list_flight.key_l = act.key_f INNER JOIN flight ON list_flight.key_f = flight.reg_num WHERE (flight."+FilterDate()+") AND (Act.DAP <> '')

4. Тестирование

Тестирование программы осуществлялось по мере разработки частей программы. В результате тестирования находились и исправлялись ошибки, добавлялись новые элементы, изменялись и удалялись ненужные. В ходе тестирования были обнаружены ошибки:

неверные запросы;

проблема компоненты “DataGridView” со свойством “AutoSizeColumnsMode” при значении “Fill”;

смещение компонент при запуске приложения на ОС с нестандартными темами оформления.

Ошибки в запросах были исправлены со временем, но ошибки компонент возникают по причине неисправности Net Framework. Это объясняется разными версиями библиотек, в частности неофициальными сборками. Для стабильной работы требуется пользоваться лицензионным программным обеспечением с последними обновлениями.

Тестирование производилось путем проверки ввода различной информации. Программа тестировалась пользователями, что позволило быстрее найти ошибки, учитывались все пожелания и исправлялись все недостатки пользовательского интерфейса.

5. Документирование

.1 Техническое задание

.1.1 Введение

Отдел таможенного контроля Читинской таможни ведет контроль физических лиц передвигающихся через границу. Созданное приложение позволяет автоматизировать процесс учета и ускоряет работу на постах таможни.

5.1.2 Требования к функциональным характеристикам

Программа должна выполнять следующие функции:

оформление авторейсов;

оформление авиарейсов;

настройки программы;

выгрузка данных;

загрузка данных;

просмотр списка актов досмотра рейса;

просмотр списка актов досмотра пассажира;

поиск;

авторизация;

работа со списком пассажиров;

оформление пассажира;

оформление акта досмотра;

работа со списком стран;

работа с категориями рейсов.

5.1.3 Требования к надежности

В программе должна присутствовать проверка на введение некорректных данных, таких как отрицательный вес или пустая строка, а также должна присутствовать проверка на повторяющиеся записи.

5.1.4 Требования к составу и параметрам технических средств

Минимальные требования для корректной работы приложения: персональный компьютер, совместимый с IBMPC; ОС Windows XP и выше; оперативная память 128 Мб и более; NET Framework 4.0; MySql Server 5.0; Windows Installer 3.0 и выше.

Для оптимальной работы приложения требуется: персональный компьютер, совместимый с IBMPC; ОС Windows XP SP2 и выше; оперативная память 256 Мб и более; NET Framework 4.0; MySql Server 5.0; Windows Installer 3.0 и выше.

5.1.5 Требования к информационной и программной совместимости

Программа должна функционировать под управлением операционной системы семейства Windows с установленным MySql Server 5.0 и NET Framework 4.0.

5.1.6 Требования к программной документации

Программная документация должна быть представлена руководством пользователя.

5.2 Руководство пользователя

После запуска файла DataBaseAirPort.exe открывается окно авторизации, которое представлено в соответствии с рисунком 2.

Рисунок 2 - Окно авторизации

В данном окне нужно указать путь к серверу базы данных, логин и пароль для авторизации, и получению доступа к базе данных. После положительной проверки происходит открытие главного окна, которое представлено в соответствии с рисунком 3.

В данном окне присутствует меню, с помощью которого можно:

сменить пользователя;

выйти из приложения;

просмотреть отчеты;

просмотреть справочники стран и категорий;

назначить код учреждения;

работать с таблицей инспекторов (данная возможность есть только у пользователя с администраторским правами).

Из данного окна можно вызвать окна с основными таблицами базы данных: пассажиры, авиарейсы, авторейсы и акты досмотра.

Рисунок 3 - Главное окно приложения

В окне пассажиров можно произвести добавление нового пассажира, изменение существующего, а также просмотреть все акты, составленные на выбранного пассажира.

В окнах авиарейса и авторейса можно добавить новый рейс, изменить. Интерфейс окон составлен так, чтобы пользователь тратил минимум времени на заполнение информации. Так, регистрационный номер рейса заполняется автоматически. Он составляется из номера учреждения, даты и номера оформленного рейса. Выбор стран и типа рейса производится из заполненного списка. Пример добавления авиарейса представлен в соответствии с рисунком 4. В таблицах рейсов можно просмотреть список пассажиров, в который можно добавить новых пассажиров, удалить из списка, составить акт, просмотреть список актов на конкретного пассажира, или список актов на текущий рейс. Пример окна списка пассажиров представлен в соответствии с рисунком 5.

Рисунок 4 - Добавление авиарейса

Рисунок 5 - Окно списка пассажиров

При добавлении пассажира в список пассажиров указываются данные паспорта, которые проверяются. Если такой пассажир в базе данных существует, то данные подставляются автоматически, иначе пользователю предлагается заполнить вручную все данные, что приведет к добавлению нового пассажира в базу данных, а также в список пассажиров рейса. Пример добавления представлен в соответствии с рисунком 6.

После подтверждения вызывается окно добавления акта. Данный акт будет составлен на выбранного пассажира и для текущего рейса.

В акте досмотра заполняется информация о товарах, номер ТПО, АТД, ГТД, штрафы, количество изъятого товара, а также перевозимая валюта в долларах. Так как пассажир может перевозить свои сбережения в нескольких валютах, заполнение перевозимой валюты происходит следующим образом. После нажатия кнопки рядом с соответствующим пунктом вызывается окно, где можно добавить несколько видов валют. Полученная сумма в долларах будет занесена в поле акта. Пример заполнения акта представлен в соответствии с рисунком 7.

Рисунок 6 - Добавление пассажира в список пассажиров

Рисунок 7 - Заполнения акта досмотра

Данные о валюте берутся из DBF файла при запуске программы. Если файл валют не был найден, то путь можно указать при добавлении акта. Из файла берутся котировки каждой валюты по последней дате. Пример окна перевозимых валют представлен в соответствии с рисунком 8.

Рисунок 8 - Окно перевозимых валют

Заключение

автоматизированный учет граница таможня

Автоматизированная система учета и контроля перемещений физических лиц через государственную границу Российской Федерации разработана для отдела таможенного контроля Читинской таможни. Приложение позволяет оформлять акты досмотра пассажиров на авиа- и авторейсы, получать отчеты по многим критериям (количество граждан проходящих через границу, количество транспортных средств, сумма штрафов, общая сумма валют и др.). Помимо этого программа позволяет изменять настройки отображения полей таблиц базы данных, автообновление таблиц, а также осуществляет поиск по любому полю.

Приложение тщательно протестировано и исправлены все ошибки. Были выполнены все поставленные задачи, создан удобный интерфейс.

В дальнейшем возможно добавление в программу железнодорожных рейсов и автоматизация добавления пассажира по штрих коду загранпаспорта.

Список литературы

1. Джоунс Э., Стивенз Р., Плю Р., Гаррет Р., Кригель А. Функции SQL. Справочник программиста. - М: ООО «И.Д. Вильямс», 2007. -768 с.

. Шварц Б., Зайцев П., Ткаченко В. Оптимизация производительности SQL, Символ-Плюс, 2010. - 832 с.

3. <#"576781.files/image009.jpg">

Рисунок А.1 - Диаграмма вариантов использования

Приложение Б

Примеры отчетов

Рисунок Б.1 - Пример отчета по авиарейсам на въезд

Рисунок Б.2 - Пример отчета по авторейса по делам об АП

Рисунок Б.3 - Пример отчета по авторейсам на выезд

Рисунок Б.4 - Пример отчета по товару на обратный вывоз

Приложение В

Описание полей таблиц базы данных

Таблица В.1 - Таблица инспекторов

Название

Тип

Описание

key_i

varchar

ID номер

login

varchar

Логин

password

varchar

Пароль

name

varchar

ФИО и личный номер

admin

bit

Права администратор


Таблица В.2 - Таблица пассажиров

Название

Тип

Описание

key_p

varchar

ID номер

family

varchar

Фамилия

name

varchar

Имя

dadname

varchar

Отчество

series

varchar

Серия паспорта

number

varchar

Номер паспорта

nationality

varchar

Гражданство

count

int

Количество перемещений

dateadd

datetime

Дата добавления записи

datechg

datetime

Дата изменения записи


Таблица В.3 - Таблица авиарейсов

Название

Тип

Описание

reg_num

varchar

Регистрационный ID номер

from

varchar

Страна отправления

to

varchar

Страна назначения

date

datetime

Дата

number

varchar

Номер рейса

type

varchar

Тип рейса

bort

varchar

name

varchar

Наименование перевозчика

count

varchar

Количество авиационных накладных

bool

bit

Флаг прилета/вылета

country

varchar

Страна производителя

key_i

varchar

ID инспектора

dateadd

datetime

Дата добавления записи

datechg

datetime

Дата изменения записи


Таблица В.4 - Таблица авторейсов

Название

Тип

Описание

key_av

varchar

ID номер

from

varchar

Страна отправления

to

varchar

Страна назначения

date

datetime

Дата

number

varchar

Номер автомобиля

type

varchar

Тип рейса

mark

varchar

Марка автомобиля

bool

bit

Флаг въезда/выезда

country

varchar

Страна производителя

key_i

varchar

ID инспектора

dateadd

datetime

Дата добавления записи

datechg

datetime

Дата изменения записи


Таблица В.5 - Таблица актов досмотра

Название

Тип

Описание

key_a

varchar

ID номер

key_p

varchar

ID номер пассажира

key_f

varchar

ID номер в списке пассажиров

weightin_bez

double

Товар, ввоз без пошлины

weightin_s

double

Товар, ввоз с пошлиной

weightout

double

Товар, вывоз

weightout_obr

double

Товар, вывоз обратно

weighttime

double

Временный ввоз товара

ptd

varchar

ПТД

money

varchar

Перевозимая валюта

tpo

varchar

Номер ТПО

tposum

varchar

Сумма штрафа по ТПО

atd

varchar

АТД

dap

varchar

дело об АП

dapsum

varchar

Штраф по делу об АП

gtd

varchar

ГТД

count_recall

double

Количество изъятого товара

other

varchar

Дополнительная информация

key_i

varchar

ID номер инспектора

dateadd

datetime

Дата добавления записи

datechg

datetime

Дата изменения записи


Таблица В.6 - Таблица списка пассажиров

Название

Тип

Описание

key_l

varchar

ID номер

key_p

varchar

ID пассажира

key_f

varchar

ID рейса

bool

bit

Флаг рейса (авто или авиа)


Таблица В.7 - Таблица валют

Название

Тип

Описание

key_a

varchar

ID номер акта досмотра

valute

varchar

Буквенное обозначение валюты

value

varchar

Значение


Таблица В.8 - Таблица стран

Название

Тип

Описание

key_n

varchar

ID номер


Таблица В.9 - Таблица категорий

НазваниеТипОписание



key_с

varchar

ID номер



Приложение Г

Связи таблиц базы данных

Рисунок Г.1 - Связи таблиц базы данных

Похожие работы на - Программа автоматизации учета граждан для отдела таможенного контроля

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!