Дипломная работа: Автоматизация и учет рабочего времени сотрудников компании ООО "Снекпро"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
62
2.3.4. Описание программных модулей
Листинг программы представлен в приложении Б.
Для настройки подключения к БД используется следующий код:
publicvoidLoadConnection()
{
//получаем данные из файла settings.ini в массив строк
string[] strok = File.ReadAllLines("settings.ini");
//если файл есть и не пустой, значит массив будет не пустой и считываем данные
if (strok != null)
{
//переменная неопределеннного типа для доступа к файлу app.config, который содржит все
настройки проекта
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// ищем секцию connectionStrings, которая содержит инфоормацию о подключенияъх к БД,
их может быть много
varconnectionStringsSection =
(ConnectionStringsSection)config.GetSection("connectionStrings");
//получаемнашустрокуподключениясименемDTP.Properties.Settings.DTPConnectionStringиприс
ватваемей
//значение из переменной, полученной из файла
//чтобыподключитьбд
string[] ss = strok[0].Split(';');
string cc = "Data Source = " + ss[0] + "; Initial Catalog = " + ss[1] + "; Integrated
Security = True";
if(!string.IsNullOrEmpty(ss[2])) cc += "User Id=" + ss[2] + ";Password = " + ss[3] +
"; ";
connectionStringsSection.ConnectionStrings["Tabel.Properties.Settings.tabelConnectionS
tring"].ConnectionString = cc;
config.Save();// сохранениефайлаapp.config
ConfigurationManager.RefreshSection("connectionStrings");//обновлениесекцииconnectionS
trings, чтобыизменения
//вступиливсилу
}
else
{
MessageBox.Show("НастройтеподключениекБД", "", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
}
}
Для сохранения данных в БД после изменения в таблице используется
программный код:
this.Validate();
this.табельBindingSource.EndEdit();
bdDataSet.ТабельDataTabledeletedOrders = (bdDataSet.ТабельDataTable)
bdDataSet.Табель.GetChanges(DataRowState.Deleted);
bdDataSet.ТабельDataTablenewOrders = (bdDataSet.ТабельDataTable)
bdDataSet.Табель.GetChanges(DataRowState.Added);
bdDataSet.ТабельDataTablemodifiedOrders = (bdDataSet.ТабельDataTable)
bdDataSet.Табель.GetChanges(DataRowState.Modified);
63
if (deletedOrders != null)
{
табельTableAdapter.Update(deletedOrders);
}
if (newOrders != null)
{
табельTableAdapter.Update(newOrders);
}
if (modifiedOrders != null)
{
табельTableAdapter.Update(modifiedOrders);
}
bdDataSet.AcceptChanges();
refreshSum();
Коддля создания нового табеля используется код:
if (toolStripTextBox1.Text=="" || toolStripComboBox1.Text=="")
{ MessageBox.Show("Укажитегодимесяцдлясозданиятабеля","",MessageBoxButtons.OK,
MessageBoxIcon.Warning); return; }
bdDataSet.ТабельDataTable dt =
табельTableAdapter.GetDataByYearMonth(Convert.ToInt32(toolStripTextBox1.Text),
toolStripComboBox1.SelectedIndex);
if (dt!=null&&dt.Rows.Count>0)
{
MessageBox.Show("Табельужесоздан","",
MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;
}
foreach (bdDataSet.СотрудникиRow s inbdDataSet.Сотрудники.Rows)
{
bdDataSet.ТабельRow t = bdDataSet.Табель.NewТабельRow();
t.КодСотрудника = s.КодСотрудника;
t.Год = Convert.ToInt32(toolStripTextBox1.Text);
t.Месяц = toolStripComboBox1.SelectedIndex+1;
FillVix(t);
FillOtpsk(t);
bdDataSet.Табель.AddТабельRow(t);
табельTableAdapter.Update(t);
}
bdDataSet.AcceptChanges();
2.4. Контрольный пример реализации проекта и его описание
При запуске информационной системы учета рабочего времени
сотрудников ООО «Снекпро» будет загружена форма авторизации,
представленная на рисунке 2.22. После авторизации табельщику доступны
данные только сотрудников отдела, в котором он работает. Администратору
доступен полный функционал системы.
64
.
Рисунок 2.22—Форма авторизации
При успешной авторизации будет загружена главная форма приложения,
представленная на рисунке 2.23.
В верхней части формы расположено меню и панели инструментов,
позволяющие:
выбирать период загрузки табеля (год и месяц);
создавать новый табель с предзаполнением информации о выходных
днях, больничных, отпусках, командировках, праздниках;
обновить информацию о выходных днях, больничных, отпусках,
командировках, праздниках при изменении этих данных в формах.
выбирать информацию о сотрудниках нудного подазделения;
экспортировать данные табеля в форму Т-12.
На форме цветом отмечаются выходные, больничные, отпуск и
командировки для удобства работы пользователя. При заполнении данных в
ячейках табеля в расчетных ячейках данные обновляются автоматически.
Расчетные ячейки: отработано за 1 половину месяца;отработано за 2
половину месяца;всего отработано;в т.ч. сверхурочных;в т.ч. ночных;в т.ч.
выходных;всего неявок.
В нижней части формы расположен список информации о кодах табеля
для удобной работы табельщика без необходимости открытия справочника
кодов в отдельном окне. При выборе в разделе Год и Месяц нужного значения и
нажатия кнопки «Создать табель» будет автоматически создан новый табель с
предварительным заполнением данных об отпусках, командировках и т.д.
65
Рисунок 2.23—Главная форма приложения
66
Если табель уже создан и ведется и в БД внесена информация об отпуске,
командировке и т.д., то при нажатии кнопки «Обновить данные об отпусках,
командировках и т.д.» будет обновлена информация в табеле.
На форме реализован фильтр по филиалу, отделу и подразделению для
удобной работы пользователя, если в ИС будет вестись информация о
нескольких филиалах.
На рисунке 2.24 представлен справочник «Коды табеля». Справочник
включает информацию о наименовании кодов, буквенном и цифровом кодах.
Рисунок 2.24— Справочник «Коды»
На рисунке 2.25 представлен справочник отделов.
Рисунок 2.25— Справочник отделов
Источник: https://baza.diplomsite.ru/previewfile/1825