Создание автоматизированного рабочего места диспетчера

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 17.07.2016
Размер файла 661,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

БД реализована в среде Microsoft SQL Server, а приложение реализовано в среде Visual Studio 2015 Community. В ходе тестирования программного продукта убедились в правильности его функционирования.

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

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

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

1. Джейсон, Прайс; Майк, Гандэрлой Visual C# .NET. Полное руководство; КОРОНА принт, 2004. - 960 c.

2. Нейгел, К. C# 2005 для профессионалов; Вильямс, 2006. - 763 c.

3. Рихтер, Джефри CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#; Питер, 2007. - 656 c.

4. Робинсон, С.; Корнес, О.; Глинн, Д. и др. C# для профессионалов; М.: Лори, 2005. - 396 c.

5. Гуриков С. Р. Введение в программирование на языке Visual C#; Форум, Инфра-М, 2013. - 448 с.

6. Мартин Р. С., Мартин М. Принципы, паттерны и методики гибкой разработки на языке С#; Символ-Плюс, 2011. - 768 с.

7. Пугачев С., Шериев А., Кичинский К. Разработка приложений для Windows 8 на языке C#; БХВ-Петербург, 2013. - 416 с.

8. Фленов Михаил Библия С#; БХВ-Петербург, 2009. - 560 с.

9. Нейгел, К. С# 2011 для профессионалов; Вильямс, 2012. - 763 с.

10. Дейтел, Х. М,; Дейтел, П. Дж. Как программировать на С#; М.: Бином; Издание 4-е, 2005. - 390 с.

11. Мэтью Мак-Дональд. Windows Presentation Foundation в .NET 4 с примерами на C# 2010 для профессионалов. М. : Вильямс, 2011, 1020 с.

12. Бен Ватсон. C# 4.0 на примерах. Санкт-Петербург. : БХВ-Петербург, 2011, 590 с.

ПРИЛОЖЕНИЕ

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Дипломный_проект

{

public partial class Form1 : Form

{

private int s = 0; //переменная для размещения ГрупБокс в ряд по очереди

public int timerInter = 60; //переменная для автообновления

DataGridView[] dg = new DataGridView[100]; //массив для динамического создания ДатаГридВью

GroupBox[] gr = new GroupBox[100]; //массив для динамического создания ГрупБокс

public Form1()

{

InitializeComponent();

dataGridView1.RowTemplate.DividerHeight = 3;

tsTbInter.Text = timerInter.ToString();

using (var context = new ASUSEntities())

{

dataGridView1.DataSource = context.vagon.Where(v => v.way_id == 710).ToList();

var ways = context.way.ToList();

int index = 1; int name = 0;

foreach (var way in ways.Where(v => v.prk_id == 659))

{

name = 709 + index;

gr[index] = new GroupBox();

gr[index].Top = 10;

gr[index].Left = 8 + s;

gr[index].Name = "grpB659_" + index.ToString();

gr[index].Text = name.ToString();

gr[index].Width = 262;

gr[index].Height = 188;

MoveCtrl.EnableMove(gr[index]);

tabP659.Controls.Add(gr[index]);

s += 270;

dg[index] = new DataGridView();

dg[index].Top = 15;

dg[index].Left = 5;

dg[index].Name = "dgV659_" + index.ToString();

dg[index].Width = 250;

dg[index].Height = 165;

dg[index].Dock = DockStyle.Fill;

dg[index].AllowUserToAddRows = false;

dg[index].AllowUserToDeleteRows = false;

dg[index].BackgroundColor = Color.Linen;

dg[index].BorderStyle = BorderStyle.Fixed3D;

dg[index].Padding = new Padding(5);

dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;

dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;

dg[index].RowHeadersVisible = false;

dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;

dg[index].RowTemplate.DividerHeight = 3;

gr[index].Controls.Add(dg[index]);

dg[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();

index++; name = 0;

}

s = 0;

//-------------------------------------------------------------------------------------------------

name = 0;

foreach (var way in ways.Where(v => v.prk_id == 660))

{

name = 709 + index;

gr[index] = new GroupBox();

gr[index].Top = 10;

gr[index].Left = 8 + s;

gr[index].Name = "grpB660_" + index.ToString();

gr[index].Text = name.ToString();

gr[index].Width = 262;

gr[index].Height = 188;

MoveCtrl.EnableMove(gr[index]);

tabP660.Controls.Add(gr[index]);

s += 270;

dg[index] = new DataGridView();

dg[index].Top = 15;

dg[index].Left = 5;

dg[index].Name = "dgV660_" + index.ToString();

dg[index].Width = 250;

dg[index].Height = 165;

dg[index].Dock = DockStyle.Fill;

dg[index].AllowUserToAddRows = false;

dg[index].AllowUserToDeleteRows = false;

dg[index].BackgroundColor = Color.Linen;

dg[index].BorderStyle = BorderStyle.Fixed3D;

dg[index].Padding = new Padding(5);

dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;

dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;

dg[index].RowHeadersVisible = false;

dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;

dg[index].RowTemplate.DividerHeight = 3;

gr[index].Controls.Add(dg[index]);

dg[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();

index++; name = 0; ;

}

s = 0;

//-------------------------------------------------------------------------------------------------

name = 0;

foreach (var way in ways.Where(v => v.prk_id == 661))

{

name = 709 + index;

gr[index] = new GroupBox();

gr[index].Top = 10;

gr[index].Left = 8 + s;

gr[index].Name = "grpB661_" + index.ToString();

gr[index].Text = name.ToString();

gr[index].Width = 262;

gr[index].Height = 188;

MoveCtrl.EnableMove(gr[index]);

tabP661.Controls.Add(gr[index]);

s += 270;

dg[index] = new DataGridView();

dg[index].Top = 15;

dg[index].Left = 5;

dg[index].Name = "dgV661_" + index.ToString();

dg[index].Width = 250;

dg[index].Height = 165;

dg[index].Dock = DockStyle.Fill;

dg[index].AllowUserToAddRows = false;

dg[index].AllowUserToDeleteRows = false;

dg[index].BackgroundColor = Color.Linen;

dg[index].BorderStyle = BorderStyle.Fixed3D;

dg[index].Padding = new Padding(5);

dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;

dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;

dg[index].RowHeadersVisible = false;

dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;

dg[index].RowTemplate.DividerHeight = 3;

gr[index].Controls.Add(dg[index]);

dg[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();

index++; name = 0; ;

}

s = 0;

//-------------------------------------------------------------------------------------------------

name = 0;

foreach (var way in ways.Where(v => v.prk_id == 662))

{

name = 709 + index;

gr[index] = new GroupBox();

gr[index].Top = 10;

gr[index].Left = 8 + s;

gr[index].Name = "grpB662_" + index.ToString();

gr[index].Text = name.ToString();

gr[index].Width = 262;

gr[index].Height = 188;

MoveCtrl.EnableMove(gr[index]);

tabP662.Controls.Add(gr[index]);

s += 270;

dg[index] = new DataGridView();

dg[index].Top = 15;

dg[index].Left = 5;

dg[index].Name = "dgV662_" + index.ToString();

dg[index].Width = 250;

dg[index].Height = 165;

dg[index].Dock = DockStyle.Fill;

dg[index].AllowUserToAddRows = false;

dg[index].AllowUserToDeleteRows = false;

dg[index].BackgroundColor = Color.Linen;

dg[index].BorderStyle = BorderStyle.Fixed3D;

dg[index].Padding = new Padding(5);

dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;

dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;

dg[index].RowHeadersVisible = false;

dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;

dg[index].RowTemplate.DividerHeight = 3;

gr[index].Controls.Add(dg[index]);

dg[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();

index++; name = 0; ;

}

s = 0;

//----------------------------------------------------------------------------------------

name = 0;

foreach (var way in ways.Where(v => v.prk_id == 663))

{

name = 709 + index;

gr[index] = new GroupBox();

gr[index].Top = 10;

gr[index].Left = 8 + s;

gr[index].Name = "grpB663_" + index.ToString();

gr[index].Text = name.ToString();

gr[index].Width = 262;

gr[index].Height = 188;

MoveCtrl.EnableMove(gr[index]);

tabP663.Controls.Add(gr[index]);

s += 270;

dg[index] = new DataGridView();

dg[index].Top = 15;

dg[index].Left = 5;

dg[index].Name = "dgV663_" + index.ToString();

dg[index].Width = 250;

dg[index].Height = 165;

dg[index].Dock = DockStyle.Fill;

dg[index].AllowUserToAddRows = false;

dg[index].AllowUserToDeleteRows = false;

dg[index].BackgroundColor = Color.Linen;

dg[index].BorderStyle = BorderStyle.Fixed3D;

dg[index].Padding = new Padding(5);

dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;

dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;

dg[index].RowHeadersVisible = false;

dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;

dg[index].RowTemplate.DividerHeight = 3;

gr[index].Controls.Add(dg[index]);

dg[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();

index++; name = 0; ;

}

s = 0;

//-------------------------------------------------------------------------------------------------

name = 0;

foreach (var way in ways.Where(v => v.prk_id == 664))

{

name = 709 + index;

gr[index] = new GroupBox();

gr[index].Top = 10;

gr[index].Left = 8 + s;

gr[index].Name = "grpB664_" + index.ToString();

gr[index].Text = name.ToString();

gr[index].Width = 262;

gr[index].Height = 188;

MoveCtrl.EnableMove(gr[index]);

tabP664.Controls.Add(gr[index]);

s += 270;

dg[index] = new DataGridView();

dg[index].Top = 15;

dg[index].Left = 5;

dg[index].Name = "dgV664_" + index.ToString();

dg[index].Width = 250;

dg[index].Height = 165;

gr[index].Controls.Add(dg[index]);

dg[index].Dock = DockStyle.Fill;

dg[index].AllowUserToAddRows = false;

dg[index].AllowUserToDeleteRows = false;

dg[index].BackgroundColor = Color.Linen;

dg[index].BorderStyle = BorderStyle.Fixed3D;

dg[index].Padding = new Padding(5);

dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;

dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;

dg[index].RowHeadersVisible = false;

dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;

dg[index].RowTemplate.DividerHeight = 3;

dg[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();

index++; name = 0; ;

}

s = 0;

}

}

private void настройкиToolStripMenuItem_Click(object sender, EventArgs e)

{

Form2 f2 = new Form2();

f2.ShowDialog();

}

private void timer1_Tick(object sender, EventArgs e)

{

timer1.Interval = timerInter * 1000;

using (var context = new ASUSEntities())

{

int f = 710;

for (int index = 1; index <= 46; index++)

{

dg[index].DataSource = context.vagon.Where(v => v.way_id == f).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();

f++;

}

}

}

private void tsTbInter_Leave(object sender, EventArgs e)

{

try

{

if (Convert.ToInt32(tsTbInter.Text) <= 0)

{ MessageBox.Show("Введено отрицательное значение или ноль!", "Ошибка ввода"); }

else

{ timerInter = Convert.ToInt32(tsTbInter.Text); }

}

catch { MessageBox.Show("Введено неверное значение!", "Ошибка ввода"); }

}

}

// класс для перемещения элементов:

public static class MoveCtrl

{

static List<ScrollEngine> Scrlrs = new List<ScrollEngine>();

static public void EnableMove(Control c)

{

var scrollEngine = new ScrollEngine(c);

Scrlrs.Add(scrollEngine);

}

static void scrollEngine_Scroll(object sender, MoveCtrl.ScrollEngine.ScrollEventArgs e)

{

}

public class ScrollEngine

{

public static bool DefaultScrollCondition()

{

return Form.MouseButtons.HasFlag(MouseButtons.Left);

}

private Control scrollableControl;

private Point positionBeforeMove;

public ScrollEngine(Control scrollableControl)

{

ScrollCondition = DefaultScrollCondition;

ScrollableControl = scrollableControl;

this.Scroll += ScrollEngine_Scroll;

}

void ScrollEngine_Scroll(object sender, ScrollEngine.ScrollEventArgs e)

{

scrollableControl.Location += e.Offset;

}

public Control ScrollableControl

{

get

{

return scrollableControl;

}

set

{

Disconnect();

scrollableControl = value;

Connect();

}

}

public Func<bool> ScrollCondition { get; set; }

private void Connect()

{

if (scrollableControl != null)

{

scrollableControl.MouseMove += ScrollableControl_MouseMove;

}

}

private void Disconnect()

{

if (scrollableControl != null)

{

scrollableControl.MouseMove -= ScrollableControl_MouseMove;

}

}

private void ScrollableControl_MouseMove(object sender, MouseEventArgs e)

{

if (ScrollCondition())

{

Size offset = new Size(Cursor.Position.X - positionBeforeMove.X, Cursor.Position.Y - positionBeforeMove.Y);

OnScroll(new ScrollEventArgs(offset));

}

positionBeforeMove = Cursor.Position;

}

protected virtual void OnScroll(ScrollEventArgs e)

{

if (Scroll != null)

{

Scroll(this, e);

}

}

public event EventHandler<ScrollEventArgs> Scroll;

public class ScrollEventArgs : EventArgs

{

public ScrollEventArgs(Size offset)

{

Offset = offset;

}

public Size Offset { get; private set; }

}

}

}

}

Размещено на Allbest.ur


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.