Диплом: Автоматизация обработки заявок ООО «Пилснаб»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
96
Т
ок
= 1680 /1387,955=1,21 года
Окупаемость затрат на внедрение проекта составляет около 15 месяцев.
На рис. 3.1. приведена диаграмма сравнения базового и проектного
вариантов трудовых затрат.
Рис. 3.1 Диаграмма сравнения базового и проектного варианта трудовых
затрат обработки информации.
Вывод по разделу: В разделе 3 дано обоснование по экономической
эффективности проекта: определяется выбор и дается обоснование методики
расчета экономической эффективности; делается расчет основных показателей
экономической эффективности проекта; все основные результаты по
экономическому обоснованию приведены в таблицах и диаграммах.
404,30
126,71
0,00
100,00
200,00
300,00
400,00
500,00
Базовый вариант Проектный вариант
Трудовые затраты, чел/час
97
Заключение
В процессе выполнения дипломного проекта по теме «Автоматизация
обработки заявок ООО «Пилснаб» были выявлены основные имеющиеся
недостатки в технологии управления предприятием. В виду этого, были
рассмотрены пути решения возникших вопросов в направлении автоматизации
обработки заявок.
Определена технико-экономическая характеристика предметной области
предприятия, дан анализ деятельности «КАК ЕСТЬ», приведена характеристика
комплекса задач, дано обоснование необходимости автоматизации обработки
заявок. Дан анализ существующим разработкам и определен выбор стратегии
автоматизации «КАК ДОЛЖНО БЫТЬ». Дано обоснование проектных
решений по информационному, программному и техническому обеспечению.
Для работников – инициаторов заявок использование разрабатываемого
ПО обеспечит:
сокращение временных затрат и упрощение процесса подготовки
заявок;
автоматизация процесса определения конечного адресата заявки и
состава согласующих;
упрощение взаимодействия с конечным исполнителем по заявке и
оперативное предоставление необходимой информации;
возможность контроля стадии согласования и выполнения заявки,
приемке работ.
Для исполнителей заявок станут доступны следующие возможности:
универсализация процесса обработки заявок;
сокращение временных затрат на получение дополнительной
информации после получения заявки (благодаря использованию справочников).
Далее приведен примерный состав справочников и классификаторов
системы, а также, в ходе сравнения и анализа, выбраны язык
программирования и система управления базами данных. В качестве
справочников были рассмотрены справочник материалов, объектов и единиц
измерения. Были определены основные сущности предметной области,
98
которые будут использованы как таблицы проектируемой базы данных
(описание заявки, заказанные материалы, статусы заявок, сотрудники).
В проектной части выбран стандарт жизненного цикла информационной
системы (ГОСТ ISO/IEC 12207:2010), описано содержание его основных
процессов применительно к разрабатываемой системе, а также оценены
возможные риски и приведены пути их устранения.
В ходе описания информационного обеспечения задачи описана
информационная модель, дана характеристика входной, нормативно-
справочной информации, результатной информации. Были выделены основные
процессы – создания, согласования, выполнения заявки.
При описании программного обеспечения задачи приведено дерево
функций системы, сценарий диалога пользователя и системы, дана
характеристика базы данных, в том числе показана ее ER-диаграмма и
приведено описание реквизитного состава каждой таблицы (наименование
поля, его тип и назначение), дано описание структурной схемы пакета и
программных модулей.
Содержание работы с системой подробно описано в контрольном
примере реализации проекта.
Расчет экономической эффективности показал, что окупаемость затрат
на внедрение проекта составляет около одного года, а значение расчетного
коэффициента эффективности капитальных затрат 1,21, то есть проект
является экономически выгодным с точки зрения снижения трудовых и
стоимостных затрат.
Созданная система предназначена для создания и управления заявками и
контроля над процессом их согласования и исполнения. Маршрут согласования
выстроен согласно структуре предприятия. Весь ход исполнения заявки можно
проследить, просмотреть у кого на исполнении в данный момент. На
различных этапах исполнения заявки доступна печать заявки в заданном
формате. Система позволит сократить временные и финансовые затраты в
значительном объёме. Используя данную систему, значительно проще
выполнять своевременную обработку всех создаваемых заявок, осуществлять
99
контроль над процессом согласования на всех стадиях движения заявки,
отслеживать местонахождение заявки на любой стадии, осуществлять контроль
операций, осуществляемой над ней.
Руководство предприятия может получать все отчеты в режиме онлайн,
вести контроль по заявкам и пользователям, вести полный учет заявок и
контролировать их исполнение.
В ходе разработки использовался язык программирования С# и
популярная система управления базами данных MySQL. Возможности языка
C# позволили реализовать необходимые функции для информационной
системы: добавление новой записи (любые внесенные данные сразу попадают в
базу данных информационной системы предприятия), редактирование,
удаление, сохранение, ввод информации по заявкам в базу данных и вывод
запрашиваемых заявок. Оба программных продукта являются бесплатными,
что позволило снизить стоимость разработки приложения.
100
Список использованной литературы
1. Авдошин А.А., Песоцкая Е.В.: Информатизация бизнеса. Управление
рисками, - М., ДМК-Пресс, 2011 г., 176 с.
2. Васвани В.А.: MySQL: использование и администрирование, СПб,
Питер, 2011 г., 368 с.
3. Вигерс, Битти: Разработка требований к программному обеспечению,
- М., Издательство: BHV, 2014 г., 736 стр.
4. ГолощаповА. Р.: MicrosoftVisualStudio 2011, - М., BHV, 2011 г., 544 с.
5. Грейди Буч, Джеймс Рамбо, Айвар Джекобсон. UML. Руководство
пользователя. Издательство: ДМК, 2001 г., 430 cтр.
6. Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. Проектирование
информационных систем - М.: ИУИТ, 2012 - 300 с.
7. Информационная безопасность и защита информации, Мельников В.
П., М.: Академия, 2012, - 336 стр.
8. Кузнецов С. Д. Базы данных. Модели и языки – М.: Бином-Пресс,
2013 г. - 720 с.
9. Курлов А.А, Петров Е.А.: Методология информационной аналитики,
- М.,Проспект, 2014 г., 384 с.
10. Пирогов В.А.: Информационные системы и базы данных:
организация и проектирование, - М., BHV, 2009 г., 528 с.
11. Полубенцева - М. П.: С/С++ Процедурное программирование, - М.,
BHV, 2014 г., 432 с.
12. Роберт Дж. Мюллер, Проектирование баз данных и UML, - М., Лори,
2013 год, 432 с.
13. Тахагхогхи, Вильямс: Руководство по MySQL, - М., BHV, 2011 г.,
544 с.
14. Чистов Д.А: Экономическая информатика (для бакалавров). Учебное
пособие, - М., Кнорус, 2014 г., 512 с.
15. Эндрю Стиллмен: Изучаем C#, - М., Питер, 2014 г., 816 с.
101
Приложение. Листинги основных программных модулей
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using ERP2.GeneralClasses;
using ERP2.Modules.Proposal.Templates;
using DevExpress.XtraTab;
using ERP2.Util;
using ERP2.Modules.DocFlowBase;
using System.Transactions;
using ERP2.Modules.Proposal.Resources;
using System.IO;
using System.Reflection;
using Microsoft.Office.Interop.Excel;
using System.Globalization;
using System.Threading;
using DevExpress.XtraEditors.Controls;
using ERP2.Modules.Proposal.Material;
namespace ERP2.Modules.Proposal.MaterialWithoutStorage
{
public partial class WSMaterialsForm :
DevExpress.XtraEditors.XtraForm
{
#region GlobalVaribles
User currUser;
decimal propID;
int specificationID;
bool cloneFlag = false;
private bool _readonly;
public bool ReadOnly
{
get
{
return _readonly;
}
set
{
_readonly = value;
}
}
#endregion
#region Constructors
public WSMaterialsForm()
{
InitializeComponent();
dateEditDelivery.Properties.MinValue = DateTime.Today;
102
}
//NewDoc
public WSMaterialsForm(User user, int kindOfProposal) : this()
{
currUser = user;
this.specificationID = kindOfProposal;
ChangeTitle();
ChangeVisibleOfComponents(true);
LoadDataNewDoc();
NewDoc();
FillDocAndUserInfoControl();
pS_WS_MaterialsItemsBindingSource.Filter = "ProposalID = "
+ propID;
}
//EditDoc
public WSMaterialsForm(User user, decimal docID, int
kindOfProposal) : this()
{
propID = docID;
currUser = user;
this.specificationID = kindOfProposal;
ChangeTitle();
LoadData();
LoadCurrentData();
FillDocAndUserInfoControl();
pS_WS_MaterialsItemsBindingSource.Filter = "ProposalID = "
+ propID;
}
#endregion
#region CustomMethods
void LoadData()
{
this.rEF_UNITSTableAdapter.Fill(this.proposalDataSet.REF_UNITS);
this.pS_WS_REF_ProjectsTableAdapter.Fill(this.proposalDataSet.PS_WS_RE
F_Projects);
this.vW_PS_Proposal_EmployeesTableAdapter.Fill(this.proposalDataSet.VW
_PS_Proposal_Employees);
this.pS_WS_MaterialItemTableAdapter.FillByProcedure(this.proposalDataS
et.PS_WS_MaterialItem);
this.vW_PS_WS_MaterialsTableAdapter.Fill(this.proposalDataSet.VW_PS_WS
_Materials);
this.pS_WS_MaterialsItemsTableAdapter.Fill(this.proposalDataSet.PS_WS_
MaterialsItems);
this.pS_TM_OrderTableAdapter.Fill(this.proposalDataSet.PS_TM_Order);
this.pRODUCTS_TYPESTableAdapter.Fill(this.proposalDataSet.PRODUCTS_TYP
ES);
this.gOSTSTableAdapter.Fill(this.proposalDataSet.GOSTS);
103
this.fIRM_MANUFACTURERTableAdapter.Fill(this.proposalDataSet.FIRM_MANU
FACTURER);
}
void LoadDataNewDoc()
{
this.rEF_UNITSTableAdapter.Fill(this.proposalDataSet.REF_UNITS);
this.pS_WS_REF_ProjectsTableAdapter.Fill(this.proposalDataSet.PS_WS_RE
F_Projects);
this.vW_PS_Proposal_EmployeesTableAdapter.Fill(this.proposalDataSet.VW
_PS_Proposal_Employees);
this.pS_WS_MaterialItemTableAdapter.FillByProcedure(this.proposalDataS
et.PS_WS_MaterialItem);
this.vW_PS_WS_MaterialsTableAdapter.Fill(this.proposalDataSet.VW_PS_WS
_Materials);
this.pS_TM_OrderTableAdapter.Fill(this.proposalDataSet.PS_TM_Order);
this.pRODUCTS_TYPESTableAdapter.Fill(this.proposalDataSet.PRODUCTS_TYP
ES);
this.gOSTSTableAdapter.Fill(this.proposalDataSet.GOSTS);
this.fIRM_MANUFACTURERTableAdapter.Fill(this.proposalDataSet.FIRM_MANU
FACTURER);
}
void ChangeVisibleOfComponents(bool flag)
{
simpleButtonImportInfo.Visible = flag;
simpleButtonClone.Visible = flag;
xtraTabPage2.PageVisible = flag;
}
void LoadCurrentData()
{
var haveDocs =
DocFlowBaseManager.haveAttachedDocs(currUser,
MainManagerTemplate._docType, propID);
labelControlFileWarning.Visible = haveDocs;
pS_WS_MaterialsTableAdapter.FillByProposalID(proposalDataSet.PS_WS_Mat
erials, propID);
}
void FillDocAndUserInfoControl()
{
var myUserControl = new
DocAndUserInfoControlTemplate(currUser);
myUserControl.Dock = DockStyle.Fill;
xtraUserControlDocAndUserTemp.Controls.Add(myUserControl);
myUserControl.SetBindings(pSWSMaterialsBindingSource,
vW_PS_Proposal_EmployeesBindingSource,
GetEmployeerBindingSourcePosition());
}
104
int GetEmployeerBindingSourcePosition()
{
var row =
(ProposalDataSet.PS_WS_MaterialsRow)((DataRowView)pSWSMaterialsBinding
Source.Current).Row;
return vW_PS_Proposal_EmployeesBindingSource.Position =
vW_PS_Proposal_EmployeesBindingSource.Find("ID", (int)row.OwnerID); ;
}
void ChangeTitle()
{
if (specificationID == 2) this.Text =
WSMaterialFormRes.FormTitle;
}
void NewDoc()
{
try
{
var row =
(ProposalDataSet.PS_WS_MaterialsRow)((DataRowView)pSWSMaterialsBinding
Source.AddNew()).Row;
row.OwnerID = currUser.Id_employee;
row.DateOfCreation = DateTime.Now;
row.StatusID =
DocFlowBaseManager.getInitStatusID(currUser,
Material.MainManagerTemplate._docType);
row.ID = currUser.GetNewID("PS_WS_Materials");
row.DocNumber = (int)row.ID;
row.SpecificationID = specificationID;
propID = row.ID;
}
catch (Exception ex)
{
UIUtil.ShowErrorBox(UtilDictionary.DataLoadFailedFormat(ex.Message));
}
SetRegexOnGMIL();
}
void GetCloneMaterialItems(decimal clonePropID)
{
pS_WS_MaterialsItemsBindingSource.Filter = "ProposalID = "
+ clonePropID;
var mibs = pS_WS_MaterialsItemsBindingSource.List;
foreach (DataRowView refRow in mibs)
{
var rowM =
(ProposalDataSet.PS_WS_MaterialsItemsRow)(refRow).Row;
var rowMN =
(ProposalDataSet.PS_WS_MaterialsItemsRow)((DataRowView)pS_WS_Materials
ItemsBindingSource.AddNew()).Row;
rowMN.ID = currUser.GetNewID("PS_WS_MaterialsItems");
rowMN.MaterialItemID = rowM.MaterialItemID;
pSWSMaterialItemBindingSource.Position =
pSWSMaterialItemBindingSource.Find("ID", rowM.MaterialItemID);
105
var rowMI =
(ProposalDataSet.PS_WS_MaterialItemRow)((DataRowView)pSWSMaterialItemB
indingSource.Current).Row;
rowMI.UsingCount++;
rowMN.ProposalID = propID;
rowMN.UnitID = rowM.UnitID;
rowMN.Description = rowM.Description;
rowMN.DeliveredCount = 0;
rowMN.Count = rowM.Count;
}
pS_WS_MaterialsItemsBindingSource.EndEdit();
pS_WS_MaterialsItemsBindingSource.Filter = "ProposalID = "
+ propID;
}
public void ChangeVisibleAndEnabledProperties(bool[]
VisibleSections, bool[] EnabledSections)
{
if (VisibleSections[0])
{
xtraTabPage1.PageVisible = true;
}
if (VisibleSections[1])
{
xtraTabPage2.PageVisible = true;
}
if (VisibleSections[2])
{
simpleButtonImportInfo.Visible = true;
simpleButtonClone.Visible = true;
}
if (EnabledSections[0] == false || _readonly == true)
{
OrdersearchLookUpEdit.Properties.ReadOnly = true;
OrdersearchLookUpEdit.Properties.Buttons[1].Enabled =
false;
lookUpEditProjects.Properties.ReadOnly = true;
lookUpEditProjects.Properties.Buttons[1].Enabled =
false;
searchLookUpEditGmil.Properties.ReadOnly = true;
dateEditDelivery.Properties.ReadOnly = true;
gridControlMaterials.UseEmbeddedNavigator = false;
}
if (EnabledSections[1] == false || _readonly == true)
{
gridView2.OptionsBehavior.Editable = false;
}
if (EnabledSections[2] == false || _readonly == true)
{
simpleButtonImportInfo.Enabled = false;
simpleButtonClone.Enabled = false;
}
if (_readonly)
{

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)