Автоматизация учета и оплаты труда работников бюджетной организации

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость новой

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

Выдержка из работы

ВВЕДЕНИЕ

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

Законодательство рассматривает оплату труда как систему отношений, в процессе которой определяются и формируются выплаты за использование труда работников.

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

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

Цель данной системы — увеличение эффективности процесса учета и оплаты труда работникам бюджетной сферы.

Перечень сокращений:

ППС — профессорско-преподавательский состав.

КРТ — коэффициент редукции труда (номинал — 3,5).

АС — автоматизированная система.

Университет — ГБОУ ВПО «Сургутский государственный университет»

ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

В качестве бюджетной организации было выбрано ГБОУ «Сургутский Государственный Университет». Каждый работник, помимо своей принадлежности к тому или иному отделу, имеет определенные личные данные (ФИО, номер и серия паспорта, адрес проживания и пр.), профессиональные (должность, разряд, категория работника) и различные сведения, учитывающиеся при расчете заработной платы (образование, размер ставки, стаж, масштаб управления, учёная степень, звание, почетные награды и многое другое).

Основные условия оплаты труда

Фонд оплаты труда работников Университета состоит из следующих фондов:

— должностных окладов руководителей, специалистов и служащих;

— тарифных ставок (окладов) рабочих;

— надбавок и доплат (выплат стимулирующего и компенсационного характера).

— материальной помощи на профилактику заболеваний;

— социальной выплаты молодым специалистам.

Заработная плата работнику СурГУ начисляется в соответствии с количеством отработанных часов и определяется выполнением нормы нагрузки, величина которой зависит от должности, ученого звания и ученой степени работника.

Доплаты стимулирующего и компенсационного характера работникам выплачиваются как разово, так и ежемесячно в качестве поощрительной надбавки, размер которой соответствует 15% фонда оплаты труда работников отдела (фактически, 15% суммы должностных окладов) и распределяется между работниками в соответствии с их баллом КРТ. Балл выставляется заведующим отделом (кафедрой) с субъективной точки зрения. Премиальный фонд состоит из двух частей: основного и дополнительного. Дополнительный фонд формируется только, если по каким-либо причинам в основном фонде остались средства (невыполненная нагрузка, командировка, болезнь). Пропорции начисления средств работникам из дополнительного фонда формируются посредством введения еще одного, дополнительного балла КРТ, который также определяется заведующим отделом (кафедрой). В качестве премии работник из основного фонда не может получить более 15% своего оклада.

Формирование должностного оклада и гарантированной заработной платы подробно рассмотрено в «Положении об оплате труда работников"[1].

Условия оплаты из фонда должностных окладов

руководителей, специалистов и служащих

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

Повышающие коэффициенты к базовому окладу устанавливаются исходя из следующих показателей:

— стажа работы (коэффициент стажа);

— условий труда, типа, вида учреждения и его структурных подразделений (коэффициент специфики работы);

— квалификации работника (коэффициент квалификации);

— масштаба и сложности руководства учреждением (коэффициент масштаба управления);

— должности, занимаемой в системе управления учреждением (коэффициент уровня управления).

Размеры базового коэффициента и повышающих коэффициентов к базовому окладу определяются согласно постановлению Правительства Ханты-Мансийского автономного округа — Югры от 18 апреля 2008 г. № 82-П «О переходе государственных образовательных учреждений Ханты-Мансийского автономного округа — Югры на новую систему оплаты труда» (в редакции постановлений Правительства Ханты-Мансийского автономного округа — Югры от 13. 08. 2009 г. № 215-п, от 24. 06. 2010 г. № 146-п).

Для определения размера должностного оклада специалиста Университета применяются повышающие коэффициенты стажа работы, специфики работы, квалификации. Для определения размера должностного оклада служащего Университета применяется повышающий коэффициент стажа работы.

Коэффициент квалификации для работников Университета устанавливается путем суммирования коэффициента за квалификационную категорию по научной деятельности или по преподавательской деятельности, или коэффициента за квалификационную категорию прочих специалистов, коэффициента за ученую степень, коэффициента за ученое звание, коэффициента за государственные награды (ордена, медали, знаки, почетные звания, спортивные звания, почетные грамоты) Российской Федерации, СССР, РСФСР, или коэффициента за награды и почетные звания Ханты-Мансийского автономного округа — Югры, или коэффициента за ведомственные знаки отличия в труде Российской Федерации, СССР, РСФСР. При наличии нескольких оснований для установления коэффициента квалификации за государственные награды (ордена, медали, знаки, почетные звания, спортивные звания, почетные грамоты) Российской Федерации, СССР, РСФСР, за награды и почетные звания Ханты-Мансийского автономного округа — Югры, за ведомственные знаки отличия в труде Российской Федерации, СССР, РСФСР коэффициент устанавливается по одному основанию в максимальном размере. Коэффициент масштаба управления устанавливается в соответствии с группой по оплате труда, определяемыми на основе объемных показателей согласно действующим нормативным и правовым актам Ханты-Мансийского автономного округа — Югры. Коэффициент специфики работы определяется на основании Классификатора типов и видов образовательных учреждений и видов деятельности работников для установления коэффициента специфики работы.

На должностной оклад руководителя, специалиста и служащего начисляются районный коэффициент и северная надбавка к заработной плате (10% от заработной платы по истечении первых шести месяцев трудовой деятельности с последующим увеличением на 10% за каждые полгода до достижения максимального по законодательству значения в 50%). Кроме того, лицам в возрасте до 30 лет (молодежи), проживающим в районах Крайнего Севера и приравненных к ним местностях не менее 5 лет (при наличии документов, подтверждающих факт проживания), и являющихся работниками организаций, финансируемых из средств местного бюджета, северная надбавка к заработной плате выплачивается в полном размере с первого дня работы.

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

Условия оплаты труда из фонда тарифных ставок (окладов) рабочих

Оплата труда рабочих производится на основе Тарифной сетки по оплате труда рабочих государственных образовательных учреждений Ханты-Мансийского автономного округа — Югры. Профессии рабочих Университета тарифицируются в соответствии с Единым тарифно-квалификационным справочником работ и профессий рабочих. Размер тарифной ставки (оклада) рабочего определяется путем произведения базовой единицы и тарифного коэффициента. На тарифную ставку (оклад) рабочего начисляются районный коэффициент и северная процентная надбавка к заработной плате.

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

ОБЗОР АНАЛОГОВ

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

Пример интерфейса одного из таких веб сервисов[2] представлен ниже, на рис. 1,2 и 3.

Рис. 1 — Стартовый экран веб-сервиса расчета з/п работника ОУ

Рис. 2 — Интерфейс веб-сервиса в процессе работы

Рисунок 3 — Результат работы веб-сервиса

Также, в процессе анализа были получены несколько документов[3] формата электронных таблиц MS Office Excel для ознакомления, в которых была предпринята попытка реализации автоматизированного вычисления заработной платы и надбавок к ней. Данные документы не отличаются никакой гибкостью, в них также отсутствует возможность накопления информации (исключая возможность накопления самих документов для разных периодов расчета). Интерфейс документа «Калькулятор по расчету персональной заработной платы (пробная версия)» представлен на рис. 4,5.

Рис. 4 — Интерфейс калькулятора расчета заработной платы (начало)

Рис. 5 — Интерфейс калькулятора расчета заработной платы (окончание)

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

ПОСТАНОВКА ЗАДАЧИ

В результате анализа предметной области были поставлены следующие задачи:

Выбрать СУБД и среду разработки будущей автоматизированной системы.

Изучить возможности совместной работы выбранной СУБД и среды разработки.

Определить функциональные возможности будущей АС:

добавление/удаление данных в БД об отделах и их сотрудниках;

внесение изменений в уже имеющуюся информацию об отделах, сотрудниках, ежедневном учете труда сотрудника;

учет ежедневного труда работника путем введения табеля работы;

расчет на основе информации о сотруднике и известных нормах нагрузки, базовых коэффициентов оплаты труда тарифной оплаты труды;

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

вывод в MS WORD расчетной ведомости за определенный месяц работы текущего отдела и конкретного работника в частности.

Разработать функциональную схему работы АС.

Спроектировать в СУБД инфологическую модель базы данных и представить ее, используя CASE средство AllFusion ERwin DataModeler, и информационное обеспечение АС в виде схемы базы данных.

Разработать состав и структуру программного обеспечения АС.

Разработать интерфейс приложения для работы с АС.

Протестировать, отладить приложение.

Сделать вывод о возможности внедрения и дальнейшего использования данной АС.

КОНТУР СИСТЕМЫ

В контур данной АС входят 3 основных функциональных частей: база данных, которая хранит всю необходимую справочную информацию, информацию об отделах, работниках, весь учет труда и историю получения выплат работниками; приложение, состоящее из блоков ввода/вывода информации и ее обработки; и, естественно, сам пользователь. Ниже, на рис. 6, представлена функциональная модель АС.

Рис. 6 — Функциональная модель АС

Пользователь производит ввод данных путем выбора и взаимодействия с элементами приложения, через него же организуется ввод новых данных, а также выборку, удаление и модификацию имеющихся. Это происходит через блок обработки данных, подключенный к базе данных. Результат обработки выводится на экран пользователю или, если обработка заключалась в получении информации об окладах, заработной плате, премиях и налогах всего отдела, или отдельного работника за расчетный месяц, по соответствующему запросу, — в документ MS WORD.

ИНФОЛОГИЧЕСКАЯ МОДЕЛЬ БАЗЫ ДАННЫХ

Инфологическая модель представлена на рис. 7.

Рис. 7 — Инфологическая модель БД

Инфологическая модель БД содержит в себе 20 сущностей. Их описание содержится в таблице 1.

Таблица 1 — Описание сущностей инфологической модели БД

Имя сущности

Ключевой атрибут

Описание сущности

тблИнфо_о_работниках

табномер

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

тблИтого_за_месяц

Код

История выплат и отчислений работнику помесячно за период его работы.

тблКатегория_Работников

кодКатегории

Название категорий и соответствующие им коды

тблКоэфф_за_Должность

КодДолжности

Название должностей, соответствующие им коды и коэффициенты к заработной плате

тблКоэфф_за_Образование

КодОбразования

Уровни образования, соответствующие им коды и коэффициенты к заработной плате

тблКоэфф_за_Стаж

КодКоэфф

Стаж, соответствующие ему коды и коэффициенты к заработной плате для служащих и специалистов

тблКоэфф_за_УровеньУправления

КодГруппы

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

тблКоэфф_за_УченоеЗвание

КодЗвания

Наименования ученых званий, соответствующие им коды и коэффициенты к заработной плате

тблКоэфф_за_УченуюСтепень

КодУченойСтепени

Наименование ученых степеней, соответствующие им коды и коэффициенты к заработной плате

тблКоэфф_МасштабУправления

КодГруппы

Номера групп по масштабу правления, соответствующие им коды и коэффициенты к заработной плате

тблКоэфф_расчета_зп

кодРезультатаРасчета

Содержит коды коэффициентов к заработной плате работника, размеры дополнительных коэффициентов, надбавок и доплат.

тблКоэфф_Специфики

КодСпецифики

Перечисление специфик труда, соответствующие им коды и коэффициенты к заработной плате

тблКоэфф_Тарифные

КодРазряда

Номера разрядов рабочих, соответствующие им коды и коэффициенты к заработной плате

тблНалоги

Код

Содержит величин налоговых ставок по НДФЛ работников в зависимости от их категории

тблНорма_работы_месяц

Месяц (ммгггг)

Содержит значения норм работы работников организации по дням на каждый трудовой месяц

тблОтделы

кодОтдела

Содержит названия отделов и соответствующие им коды

тблПочетные_звания_и_награды

КодЗванияНаграды

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

тблПремии

кодВыплаты

Содержит информацию о начисленных работнику премиях и выплатах за месяц, размеры основных и дополнительных баллов КРТ

тблУчебной_Нагрузки

кодНагрузки

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

тблУчет_раб_времени

Код

Содержит табель работы каждого работника по часам за каждый рабочий день

Схема данных БД отражена на рис. 8.

Рис. 8 — Физическая модель данных БД

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

заработный плата база данных

Таблица 2 — Описание атрибутов физической модели данных БД

Имя таблицы

Имя атрибута

Тип данных атрибута

Описание атрибута

тблИнфо_о_работниках

табНомер

Числовой (int)

Табельный номер работника

кодКатегории

Числовой (int)

Код категории работника (см. тблКатегории_работников)

кодОтдела

Числовой (int)

Код отдела работника (см. тблОтделы)

Фамилия

Текстовый

Фамилия работника

Имя

Текстовый

Имя работника

Отчество

Текстовый

Отчество работника

Пол

Логический

Пол работника (истина — мужской, ложь — женский)

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

Числовой (int)

Серия паспорта работника (4 цифры)

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

Числовой (int)

Номер паспорта работника (6 цифр)

ИНН

Текстовый

ИНН работника (12 цифр)

СНИЛС

Текстовый

СНИЛС работника (11 цифр)

Номер ПОМС

Текстовый

Номер полиса обязательного медецинского страхования (16 цифр)

Номер лицевого счета

Текстовый

Номер лицевого счета работника

Дата рождения

Дата/время

Дата рождения работника в формате дд. мм. гггг

Адрес прописки

Текстовый

Адрес прописки работника по паспорту

Контактный телефон

Текстовый

Контактный телефон работника

Должность

Числовой (int)

Код должности работника (см. тблКоэфф_за_Должность)

Ученое звание

Числовой (int)

Код ученого звания работника (см. тблКоэфф_за_УченоеЗвание)

Ученая степень

Числовой (int)

Код ученой степени работника (см. тблКоэфф_за_УченуюСтепень)

5 или 6 дней

Логический

Кол-во дней работы работника в неделю (5 -ложь, 6 — истина)

тблИтого_за_месяц

Код

Числовой (int)

Код записи

табНомер

Числовой (int)

Табельный номер работника, чьи данные хранятся в этой записи

Величина з/п, руб

Числовой (int)

Сумма зарплаты работника с учетом тарифа на время

Сумма премий, руб

Числовой (int)

Сумма премий работника

Величина подоходного налога, руб

Числовой (int)

Сумма НДФЛ работника на зарплату и премии

Сумма налогового вычета

Числовой (int)

Величина налогового выета

Дата (ммгггг)

Дата/время

Месяц выплаты

кодНагрузки

Числовой (int)

Код величины учебной нагрузки для данного работника

тблКатегория_Работников

кодКатегории

Числовой (int)

Наименование

Текстовый

Название категории

тблКоэфф_за_Должность

кодДолжности

Числовой (int)

Код должности

Должность

Текстовый

Название должности

Значение

Числовой (double)

Значение коэффициента для должности

тблКоэфф_за_Образование

КодОбразования

Числовой (int)

Наименование

Текстовый

Уровень образования

Значение

Числовой (double)

Значение коэффициента для уровня образования

тблКоэфф_за_Стаж

кодКоэфф

Числовой (int)

Стаж

Текстовый

Величина стажа в годах

Значение для специалистов (2 категория)

Числовой (double)

Значение коэффициента за стаж для специалистов

Значение для служащих (3 категория)

Числовой (double)

Значение коэффициента за стаж для служащих

тблКоэфф_за_УровеньУправления

КодГруппы

Числовой (int)

Группа

Числовой (int)

Номер группы по уровню управления

Значение

Числовой (double)

Значение коэффициента за уровень управления

тблКоэфф_за_УченоеЗвание

КодЗвания

Числовой (int)

Наименование

Текстовый

Наименование ученого звания

Значение

Числовой (double)

Значение коэффициента за ученое звание

тблКоэфф_за_УченуюСтепень

КодУченойСтепени

Числовой (int)

Наименование

Текстовый

Наименование ученой степени

Значение

Числовой (double)

Значение коэффииента за ученую степень

тблКоэфф_МасштабУправления

КодГруппы

Числовой (int)

Группа

Числовой (int)

Номер группы по масштабу управления (все руководители относятся к 1 группе)

Значение

Числовой (double)

Значение коэффициента за масштаб управления

тблКоэфф_расчета_зп

кодРезультатаРасчета

Числовой (int)

Код

табНомер

Числовой (int)

Табельный номер работника, чьи коэффициенты хранятся в записи

Размер ставки

Числовой (double)

Размер ставки за должность (не более 1. 5)

Базовая единица, руб

Числовой (int)

Базовая единица (4248 руб.)

Тарифный коэф

Числовой (int)

Код тарифного коэффициента работника (для рабочих) (см. тблКоэфф_Тарифные)

Коэф образования

Числовой (int)

Код образования (для всех остальных) (см. тблКоэфф_за_Образование)

Коэф за должность

Числовой (int)

Код должности работника (см. тблКоэфф_за_Должность)

Коэф специфики работы

Числовой (int)

Код специфики работы работника (см. тблКоэфф_за_Специфику)

Коэф за ученое звание

Числовой (int)

Код ученого звания работника (см. тблКоэфф_за_УченоеЗвание)

Коэф за ученую степень

Числовой (int)

Код ученой степени работника (см. тблКоэфф_за_УченуюСтепень)

Почетное звание и награды

Числовой (int)

Код почетного зваия, или награды (см. тблПочтеные_звания_и_награды)

Масштаб управления

Числовой (int)

Код группы по масштабу управления, к которой принадлежит работник (см. тблКоэфф_МасштабУправления)

Уровень управления

Числовой (int)

Код группы по уровню управления, к которой принадлежит работник (см. тблКоэфф_за_УровеньУправления)

Районный коэфициент

Числовой (double)

Значение районного коэффициента (70% от должностного оклада)

Северная надбавка

Числовой (double)

Значение северной надбавки (50% от должностного оклада)

Коэф за стаж

Числовой (int)

Код стажа работника (только для специалистов и служащих) (см. тблКоэфф_за_Стаж)

Доплата молодым специалистам ППС

Логический

Истина — есть доплата, ложь — нет

Доплата за вредность

Числовой (double)

Значение доплаты за вредность (0 для всего ППС Университета)

тблКоэфф_Специфики

КодСпецифики

Числовой (int)

Наименование

Текстовый

Наименование специфики работы

Значение

Числовой (double)

Значение коэффициента за специфики

тблКоэфф_Тарифные

КодРазряда

Числовой (int)

Разряд

Числовой (int)

Номер разряда работника

Значение

Числовой (double)

Значение коэффициента за разряд

тблНалоги

Код

Числовой (int)

кодКатегории

Числовой (int)

Код категории работника

Налоговая ставка, %

Числовой (int)

Величина налоговй ставки в %

тблНорма_работы_месяц

Месяц (ммгггг)

Дата/время

Месяц, для которого определяется норма, в формате мм. гггг

Норма (6-дн), д

Числовой (int)

Значение нормы для работников, работающих по 6-дневной рабочей неделе

Норма (5-дн), д

Числовой (int)

Значение нормы для работников, работающих по 5-дневной рабочей неделе

тблОтделы

кодОтдела

Числовой (int)

Название

Текстовый

Название отдела

тблПочетные_звания_и_награды

КодЗванияНаграды

Числовой (int)

Наименование

Текстовый

Наименование почетного звания или награды, присвоенной работнику

Значение

Числовой (double)

Значение коэффициента за имеющееся почетное звание или награду

тблПремии

кодВыплаты

Числовой (int)

табНомер

Числовой (int)

Табельный номер работнику, которому назначается премия

Размер балла КРТ

Числовой (double)

Размер балла основного КРТ (до 3. 5)

Размер балла КРТ (дополнит)

Числовой (double)

Размер дополнительного балла КРТ (до 3. 5)

Разовая премия, руб

Числовой (int)

Сумма разовой премии, в рублях

Стимулирующая премия, руб

Числовой (int)

Величина стимулирующей премии (надбавки), в рублях

Срок выплаты (ммгггг)

Дата/время

Срок выплаты премии (надбавки) в формате мм. гггг

тблУчебной_Нагрузки

кодНагрузки

Числовой (int)

Должность

Числовой (int)

Должность работника, которому определяется нагрузка

Ученая степень

Числовой (int)

Ученая степень работника, которому определяется нагрузка

Ученое звание

Числовой (int)

Ученое звание работника, которому определяется нагрузка

Норма нагрузки

Числовой (int)

Значение нормы нагрузки, в часах

тблУчет_раб_времени

Код

Числовой (int)

Дата, (ддммгггг)

Дата/время

День, на который определяется табель работы работника

табНомер

Числовой (int)

Табельный номер работника

Отработанное время, ч

Числовой (int)

Фактически отработанное время за день, в часах

Отпуск, ч

Числовой (int)

Отлично от 0 только если работник в отпуске

Больничный, ч

Числовой (int)

Отлично от 0 только если работник на больничном

Отгул, ч

Числовой (int)

Отлично от 0 только если работник в отгуле

Работа в выходной, ч

Числовой (int)

Отлично от 0 только если день — выходной для работника

Сверхурочные, ч

Числовой (int)

Отлично от 0 только если работник работал сверхурочно

Ночное время, ч

Числовой (int)

Отлично от 0 только если работник работал в ночное время

Командировка, ч

Числовой (int)

Отлично от 0 только если работник в командировке

СОСТАВ И СТРУКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

ПО для данной АС разработано в среде VS 2010 Ultimate на языке программирования C#.

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

Код приложения из пяти модулей: mainForm. cs, formEmployee. cs, Report. cs, CalendarColumn. cs, classEmployee. cs.

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

Таблица 3 — Состав модуля mainForm. cs

Название процедуры

Входные параметры (тип название)

Выходные параметры (тип)

Объем

Результат работы

Form1_Load

object sender,

EventArgs e

-

12

Формирование подключения к БД, запуск таймера, вызов процедур GetEmployeesInfo и GetОтделы

GetEmployeesInfo

-

-

80

Получение всей необходимой информации о работниках из БД и создание на основе ее массива объектов класса classEmployee — Employees

GetОтделы

-

-

7

Получение списка отделов из БД, вызов процедуры flushTab23

GetРаботники_Отдела (Int32)

Int32 кодОтдела

-

13

Получение на основе код отдела списка работников этого отдела из БД

GetРаботники_Отдела (string)

string Отдел

-

11

Получение на основе названия отдела его кода и вызов процедуры GetРаботники_Отдела (Int32)

GetЕжедневный_учет (Int32, Int)

Int32 табНомер,

int rowindex

-

29

Получение на основе табельного номера работника его табеля работы из БД, составление ФИО на основе индекса строки в таблице списка работников отдела, вызов процедур monthWorkAcc и GetОплата_труда_работника

GetЕжедневный_учет (Int32)

Int32 табНомер

-

14

Определение на основе табельного номера индекса строки, вызов GetЕжедневный_учет (Int32, Int)

GetЕжедневный_учет

(String)

String ФИО

-

19

Определение табельного номера и индкса строки на основе строки ФИО, вызов GetЕжедневный_учет (Int32, Int)

GetОплата_труда_работника

Int32 табНомер

-

83

Заполнение таблицы вкладки «Оплата труда» сведениями об оплате труда работника, вызов процедуры ShowEmployeeInfo

ShowEmployeeInfo

classEmpolyee selectedEmp

-

25

Отображение информации о работнике selectedEmp во вкладке «Лич. сведения»

flushTab23

-

-

10

Очистка вкладок «Оплата труда» и «Лич. сведения» при переходе на более высокий уровень, чем уровень работника (уровень отделов или уровень работников отдела)

monthWorkAcc

int tabNum

-

160

Составление таблицы учета работы работника по месяцам с выводом общего кол-ва отработанных часов и норм нагрузки в часах и днях

loadDataGrid

string sqlQueryString,

int i

-

180

Заполнение таблицы с индексом i данными запроса, полученного из строки sqlQueryString

button1_Click

object sender,

EventArgs e

-

3

Возврат к списку отделов путем вызова процедуры GetОтделы ()

dataGridView1_RowHeaderMouseClick

object sender,

DataGridViewCellMouseEventArgs e

-

7

Переход на верхний уровень (уровень работников отдела или уровень работника) по нажатию на заголовок строки в таблице

button2_Click

object sender, EventArgs e

-

3

Получение списка работников отдела путем последовательного вызова процедур GetОтделы () и GetРаботники_Отдела (string);

dataGridView1_KeyDown

object sender,

KeyEventArgs e

-

11

Тоже, что и dataGridView1_RowHeaderMouseClick, только переход по нажатию клавишы Enter

button3_Click

object sender,

EventArgs e

-

3

Обновление данных табеля и оплаты труда текущего работника

Form1_Resize

object sender, EventArgs e

-

19

Изменение расположения и размеров элементов на форме под текущий размер формы

dataGridView1_SelectionChanged

object sender, EventArgs e

-

11

Изменение отображаемых данных учета ежедневного труда текущего работника в зависимости от выбранного месяца

tabPage1_Paint, tabPage2_Paint, tabPage3_Paint.

object sender, PaintEventArgs e

-

42

Прорисовка графических элементов на вкладках «Учет труда», «Оплата труда», «Лич. сведения»

dataGridView3_RowsAdded

object sender, DataGridViewRowsAddedEventArgs e

-

18

Получение кода строки и табельного номера работника, которому вносится новый день работы в табель

tabPage1_Resize,

tabPage1_Resize,

tabPage1_Resize.

object sender, EventArgs e

-

3

Подгонка размеров всех вкладок под размеры изменяемой

dataGridView3_DefaultValuesNeeded

object sender, DataGridViewRowEventArgs e

-

9

Ввод значений по умолчанию при добавлении нового дня работы работника

dataGridView1_UserDeletingRow

object sender,

DataGridViewRowCancelEventArgs e

-

15

Отмена удаления при подтверждении, сбор необходимой информации для удаления отдела

button4_Click

object sender, EventArgs e

-

59

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

dataGridView1_UserAddedRow

object sender, DataGridViewRowEventArgs e

-

9

Получение кода отдела при добавлении нового сотрудника

dataGridView1_RowLeave

object sender, DataGridViewCellEventArgs e

-

11

Сбор информации об измененной строке отдела для последующего корректного изменения этой строки в БД

dataGridView3_RowHeaderMouseClick

object sender, DataGridViewCellMouseEventArgs e

-

1

При нажатии на заголовок строки — выбор всего ряда

dataGridView3_CellClick

object sender, DataGridViewCellEventArgs e

-

1

При нажатии на ячейку — выбор ячейки

dataGridView3_UserDeletingRow

object sender, DataGridViewRowCancelEventArgs e

-

15

Процедура удаления дня работы, отмена удаления в случае не подтвреждения

dataGridView2_RowLeave

object sender, DataGridViewCellEventArgs e

-

33

Внесение изменений в информацию о премиях работника в БД

dataGridView2_RowEnter

object sender,

DataGridViewCellEventArgs e

-

2

Сохранения текущего значения премии для последующего сравнения

timer1_Tick

object sender,

EventArgs e

-

5

Ожидание команды на обновление таблицы оплаты

button6_Click

object sender,

EventArgs e

-

2

Вызов формы Report. cs

mainForm_FormClosing

object sender, FormClosingEventArgs e

-

2

Процедура закрытия главной формы

button7_Click

object sender, EventArgs e

-

1

Выход из приложения

dataGridView3_DataError

object sender,

DataGridViewDataErrorEventArgs e

-

2

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

dataGridView3_CellLeave

object sender,

DataGridViewCellEventArgs e

-

17

Обработки ввода числа, больше 24 (меньше 0).

button8_Click,

button9_Click,

button10_Click.

object sender,

EventArgs e

-

12

Переключение между вкладками

закрытьToolStripMenuItem_Click

object sender,

EventArgs e

-

1

Закрытие приложения по команде меню

обАвтореToolStripMenuItem2_Click

object sender,

EventArgs e

-

2

Открытие информации об авторе

оПрограммеToolStripMenuItem_Click

object sender,

EventArgs e

-

2

Открытие информации о программе

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

Таблица 4 — Состав модуля formEmployee. cs

Название процедуры

Входные параметры (тип название)

Выходные параметры (тип)

Объем

Результат работы

formEmployee (OleDbConnection,

int)

OleDbConnection db,

int departCode

-

173

Вызов формы для добавления нового работника отдела с кодом departCode

formEmployee (int, OleDbConnection, bool)

int tabNumber,

OleDbConnection db,

bool update

-

186

Вызов формы для изменения информации о работнике с табельным номером tabNumber

formEmployee_Load

object sender,

EventArgs e

-

12

Загрузка цветовой схемы, настройка положения таблиц на форме

button1_Click

object sender,

EventArgs e

-

876

Подтверждение обновления/добавления личных данных сотрудника, загрузка во вторую таблицу «Сведения для расчета заработной платы» соответствующих сведений.

button2_Click

object sender,

EventArgs e

-

63

Подтверждение обновления/добавления сведений о расчете заработной платы

formEmployee_Resize

object sender,

EventArgs e

-

7

Настройка отображения элементов на форме при изменении ее размера

formEmployee_Paint

object sender,

PaintEventArgs e

-

9

Настройка отображения элементов на форме при изменении ее размера

formEmployee_FormClosing

object sender,

FormClosingEventArgs e

-

17

Подтверждение закрытия формы и откат изменений второй таблицы в случае обновления/удаление введенных данных о работнике таблицы «Личные данные» в случае добавления

dataGridView2_EditingControlShowing

object sender,

DataGridViewEditingControlShowingEventArgs e

-

6

Создание виртуального объекта comboBox на основе текущего comboBox в ячейке с копированием всех его свойств и данных

comboBox_SelectedIndexChanged

object sender,

EventArgs e

-

3

Изменение данных в comboBox`ах той же стоки, что и та, где произошли изменения

inputcheck

object objColName,

object objValue

object

56

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

dataGridView1_RowLeave,

dataGridView2_CellLeave.

object sender,

DataGridViewCellEventArgs e

-

10

При смене выделенной строки — вызов процедуры inputcheck и применение ее результата

dataGridView2_RowLeave

object sender,

DataGridViewCellEventArgs e

-

30

Запрет изменения ячеек «табНомер»,

«Базовая единица, руб», «Районный коэффициент», «Северная надбавка», проверка вводимых значений в остальные ячейки

Report. cs — модуль, реализующий на основе выбранной даты и информации о текущем работнике создание расчетного листа в формате «. doc». Более подробное его описание находится в таблице 5.

Таблица 5 — Состав модуля Report. cs

Название процедуры

Входные параметры (тип название)

Выходные параметры (тип)

Объем

Результат работы

Report

classEmpolyee currentEmp,

DataGridViewRowCollection rows

-

3

Копирование информации о рабочем currentEmp и строк таблицы из вкладки «Оплата труда» модуля mainForm. cs

button1_Click

object sender,

EventArgs e

-

2

Вызов процедуры создания расчетного листа после выбора даты

monthCalendar1_DateSelected

object sender,

DateRangeEventArgs e

-

8

Запоминание выбранного месяца

CreateReport

-

-

131

Процедура формирования расчетного листа работника в формате. doc

CalendarColumn. cs — модуль, реализующий применение в качестве управляющего элемента ячейки использование DateTimePicker. Данный управляющий элемент позволяет выбирать нужную дату из календаря, появляющегося в качестве ниспадающего меню при нажатии на ячейку.

classEmployee. cs — модуль, описывающий класс с одноименным названием. Более подробное его описание находится в таблице 6.

Таблица 6 — Состав модуля classEmployee. cs

Тип данных поля

Название поля

Базовое значение поля

Описание поля

String

FName

`'

Фамилия

String

LName

`'

Имя

String

MName

`'

Отчество

Int16

Category

0

Код Категории

Int16

Yuppie

0

Доплата молодому специалисту ППС, руб

Double

Rate

1. 0

Размер ставки

int

tabNumber

0

Табельный номер

Int16

baseUnit

4248

Базовая единица

Double

tarif

0

Размер коэффициента за разряд

Double

edu

0

Размер коэфициента за образование

Double

job

0

Размер коэффициента за должность

Double

workSpec

0

Размер коэффициента за специфику работы

Double

academicTitle

0

Размер коэффициента за ученое звание

Double

managScale

0

Размер коэффициента за масштаб управления

Double

managLvl

0

Размер коэффициента за уровень управления

Double

regionCoeff

0. 7

Районный коэффициент

Double

north

0. 5

Северная надбавка

Double

exp

0

Размер коэффициента за стаж

Double

harmfull

0

Доплата за вредность

Double

orden

0

Размер коэффициента за награды и почетные звания

Int16

academicDegree

0

Размер коэффициента за ученую степень

Double

baseOklad

0

Величина базового оклада, руб

Double

jobOklad

0

Величина должностного оклада, руб

Double

warrantyPayment

0

Гарантированная з/п, руб

Boolean

fiveORsix

false

Истина — 6 дней, ложь — 5 дней.

Int16

jobCode

0

Код должности

Int16

academicTitleCode

0

Код ученого звания

Int16

academicDegreeCode

0

Код ученой степени

Int16

departCode

0

Код отдела

Int16

tax

0

Величина налоговой ставки, %

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

ИНТЕРФЕЙС ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

На экране главной формы (см. рис. 9) пользователю предлагается спуститься по иерархии от списка отделов до уровня сотрудника. На каждом из экранов пользователь, использую соответствующую кнопку, может изменить список отделов/сотрудников отдела. Каждое обновление списка придется подтверждать сохранением.

Рис. 9 — Главная форма

Список сотрудников можно пополнить, заполнив соответствующую форму (см. рис. 10).

Рис. 10 — Форма добавления нового работника

Таблица сведений о коэффициентах не является доступной, пока не подтверждено применение изменений личных сведений работника нажатием кнопки «ОК». Аналогичная форма вызывается при необходимости изменения информации об уже выбранном сотруднике (см. рис. 11).

Рис. 11 — Форма изменения сведений работника

Экран ежедневного учета труда (см. рис. 12) содержит в себе 2 таблицы.

Рис. 12 — Ежедневный учет труда работника. Вкладка «Учет труда»

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

Рис. 13 — Вкладка «Оплата труда»

В любой момент, на экране сведений об оплате труда работника (см. рис. 13) пользователь может, по нажатию кнопки «Получить расчетный листок» и выбрав любой день интересующего месяца (см. рис. 14), сгенерировать расчетный лист оплаты труда работника за этот месяц (см. рис. 15).

Рис. 14 — Форма выбора расчетного месяца

Рис. 15 — Автоматически сгенерированный расчетный листок работника за выбранный месяц

Личные сведения о работнике и коэффициентах оплаты его труда можно просмотреть во вкладке «Лич. сведения», нажав кнопку с соответствующим названием (см. рис. 16).

Рис. 16 — Вкладка «Личные сведения»

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

Всю необходимую для запуска информацию приложение автоматически получает из БД, которая должна располагаться локально в той же папке, что и само приложение. Необходимой для запуска информацией являются практически все сведения (личные, профессиональные), а именно: табельный номер, код категории, 5 или 6 дней работает сотрудник, должность, ученое звание, ученая степень, код отдела, фамилия, имя, отчество, налоговая ставка, доплата за вредность, размер ставки, доплата молодым специалистам ППС в рублях, значение коэффициента за ученую степень ученое звание, стаж (для категорий служащих и специалистов), за должность, за масштаб и уровень управления, значения тарифных коэффициентов за разряд (если категория — рабочие) или за образование (если нет) обо всех сотрудниках и список отделов. Выходной информацией можно считать расчетную ведомость и результаты расчета базового, должностного окладов, гарантированной заработной платы, тарифа на отработанное время, премии, величина НДФЛ и итоговая зарплата в рублях.

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

Минимальные системные требования:

Операционная система — Windows® XP/Windows Vista®/Windows® 7/Windows® 8 (обновленные до последнего Service Pack).

Процессор — 1.5 GHz Pentium® IV или соответствующий процессор AMD Athlon®.

Видео — 128 MB PCIe NVIDIA® GeForce® 6600 GT или ATI Radeon® 9800 PRO или лучше.

Память — 1 GB RAM (1.5 GB для Windows Vista®/Windows® 7/Windows® 8)

Разрешение экрана- минимальное разрешение 1024×728.

ЗАКЛЮЧЕНИЕ

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

В приложении требовалось реализовать следующие функции:

добавление/удаление данных в БД об отделах и их сотрудниках;

внесение изменений в уже имеющуюся информацию об отделах, сотрудниках, ежедневном учете труда сотрудника;

учет ежедневного труда работника путем введения табеля работы;

расчет на основе информации о сотруднике и известных нормах нагрузки, базовых коэффициентов оплаты труда тарифной оплаты труды;

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

вывод в MS WORD расчетной ведомости за определенный месяц работы текущего отдела и конкретного работника в частности.

В приложении реализовано:

добавление/удаление данных в БД об отделах и их сотрудниках;

внесение изменений в уже имеющуюся информацию об отделах, сотрудниках, ежедневном учете труда сотрудника;

учет ежедневного труда работника путем введения табеля работы (учет лишь фактически отработанного времени и больничных дней);

расчет на основе информации о сотруднике и известных нормах нагрузки, базовых коэффициентов оплаты труда тарифной оплаты труды;

назначение премий сотруднику (только разовых), учет их при расчете подоходного налога и итого выплаты за работу;

вывод в MS WORD расчетной ведомости за определенный месяц работы текущего отдела и конкретного работника в частности.

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

Данная автоматизированная система не полностью охватывает предметную область, есть недоработки в расчете премий и учете труда. Помимо исправления недоработок, в будущем к функционалу АС можно добавить учет материальной помощи, учета почасовой оплаты труда, выплаты отпускных, командировочных, премий по случаю 50-, 55-, 60-летия работников, а также увеличение масштаба учета вплоть до верхнего управленческого уровня Университета.

Данная АС может стать претендентом на внедрение в ГБОУ ВПО «Сургутский государственный университет».

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. «Положение об оплате труда работников СурГУ» [Электронный ресурс]

2. Калькулятор должностного оклада и гарантированной заработной платы [Электронный ресурс]

3. url: http: //olymp. uriit. ru/school/.

4. Отдел организации труда и заработной платы — Иные документы [Электронный ресурс]

5. url: http: //surgu. ru/index. php? view=menu&mid=550

6. Simple Movie Database in C# using Microsoft Access [Электронный ресурс]

7. url: http: //www. codeproject. com/Articles/24 043/Simple-Movie-Database-in-C-using-Microsoft-Access

8. SQL Quick Reference From W3Schools [Электронный ресурс]

9. url: http: //www. w3schools. com/sql/sql_quickref. asp

10. Практическое руководство. Размещение элементов управления в ячейках элемента управления DataGridView в Windows Forms [Электронный ресурс]

11. url: http: //msdn. microsoft. com/ru-ru/library/7tas5c80. aspx

12. DataGridView. Новый контрол в составе Framework 2.0 [Электронный ресурс]

13. url: http: //www. rsdn. ru/article/dotnet/DataGridView20. xml

14. Сеппа Д. Программирование на Microsoft ADO. NET — 1 издание, 2007 год, 784 стр.

15. Мэтью Мак-Дональд. Microsoft ASP. NET 4 с примерами на C# 2010 для профессионалов — 2010, 1424 стр.

Показать Свернуть
Заполнить форму текущей работой