Диплом: Разработка системы оптимизации управления запасами на примере ООО «Оригами»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
46
private void сотрудникиToolStripMenuItem_Click(object sender, EventArgs e)
{
UnitOfWork unitOfWork = new UnitOfWork();
List<EmployeeView> listentity =
unitOfWork.EmployeeRepository.GetListView().ToList();
CEmployee u = new CEmployee();
u.UpdateAll += delegate
{
listentity = unitOfWork.EmployeeRepository.GetListView().ToList();
u.RefreshData(listentity);
};
u.Build(unitOfWork, listentity);
}
Из вышеприведенного кода видно, что для запуска механизма работы со
списком сотрудников, создается единый контекст данных unitOfWork,
запрашивается список сотрудников в виде DTO объектов EmployeeView,
создается экземпляр контроллера CEmployee, и вызывается функция начала
работы с экземпляром Build. Для обновления данных из базы обрабатывается
событие контроллера UpdateAll [23].
В приложении используется единая форма для вывода списка для
сущностей. Форма содержит стандартный интерфейс для работы с данными:
добавление, редактирование, удаление, обновление и поиск (рис.2.11).
Рис. 2.11. Единая форма для списков
В контроллере задаются все параметры внешнего вида формы: список
полей, выводимых на экран, иконка и название для формы. Так же в контроллере
ведется обработка событий, генерируемых формой.
На форме «Сотрудники» элемент DataGridView содержит 4 столбца
данных, и панель инструментов дополнена элементом ToolStripComboBox для
выбора сотрудников по отделениям.
47
Макет формы-списка «Сотрудники» приведен на рис.2.12.
Рис. 2.12. Форма-список «Сотрудники»
Все простые атрибуты, такие как ФИО, Описание, Логин, Пароль
обновляются в модели с помощью механизма связывания:
tfullname.DataBindings.Add("Text", this.item, "FullName", false,
DataSourceUpdateMode.OnPropertyChanged);
Для изменения атрибута Отделение, создается контроллер для отделения и
обрабатываются события этого контроллера, в частности необходимое нам
событие выбора отделения пользователем.
private void bdepart_Click(object sender, EventArgs e)
{
List<Department> listentity = unitOfWork.DepartmentRepository.Get().ToList();
CDepartment u = new CDepartment();
u.UpdateAll += delegate
{
listentity = unitOfWork.DepartmentRepository.Get().ToList();
u.RefreshData(listentity);
};
u.SelectedDepartment += delegate
{
item.Department = (Department)u.Returned;
tdepart.Text = item.Department.Caption;
};
u.Build(unitOfWork, listentity, ModeForm.mfCatalog,item.Department);
}
При сохранении данных о сотруднике производится проверка на
правильность введенных данных и при ошибке выдается предупреждение об
ошибке.
48
Все вводимые данные в программе проверяются как на соответствие типу
вводимых данных, так и на условие соответствия бизнес-логике.
Удаление данных производится после утвердительного ответа
пользователя.
По вышеприведенному принципу реализованы все формы приложения,
созданные для изменения данных в базе.
Для расчета систем управления запасами были созданы подобные формы,
где производится выбор продукта, для которого необходимо провести расчет
(рис.2.13).
Рис. 2.13. Форма расчета системы с фиксированным размером заказа
Для формирования документов, созданных в программе, использовался
дизайнер построения отчетов и reportViewer для просмотра (рис.2.14).
Рис. 2.14. Вид документа о проводимой операции в дизайнере
Все данные для вывода в «Expr» выражениях передаются программно с
помощью параметров.
Сценарий диалога в информационной системе управления запасами ООО
«Оригами» приведен на рис.2.15.
49
Рис. 2.15. Сценарий диалога в информационной системе управления запасами ООО «Оригами»
Главное меню
Справочники
Ед. измерения
Добавить запись
Редактировать
запись
Удалить запись
Обновить список
Список товаров
Добавить запись
Редактировать
запись
Удалить запись
Обновить список
Поставщики
Добавить запись
Редактировать
запись
Удалить запись
Обновить список
Организация
Отделения
Добавить запись
Редактировать
запись
Удалить запись
Обновить список
Сотрудники
Добавить запись
Редактировать
запись
Удалить запись
Обновить список
Операции
Поставщик-Склад
Склад-Поставщик
Склад-Отделения
Отделения-Склад
Управление
запасами
Система с
фиксированным
размером заказа
Система с
фиксированным
интервалом
времени
Движение товара
Окно
Каскад
Вертикально
Горизонтально
Закрыть все окна
О программе
50
2.3.2 Описание базы данных
ER-диаграмма базы данных информационной системы управления
запасами ООО «Оригами» приведена на рис. 2.16.
Рис. 2.16. Логическая ER-диаграмма базы данных
Для проектирования системы выделим явные сущности: «Продукт»,
«Сотрудник», «Поставщик», «Поставки», «Операции движения».
Для авторизации в системе сущность сотрудник запланируем два
атрибута: логин и пароль, для масштабирования системы в дальнейшем введем
сущность «Отделение» и связь 1:M (кардинальность (0,1): (0, M)) с сущностью
«Сотрудник». Сущности «Отделение» и «Сотрудник» сильные, на данном этапе
сотрудник может не относится ни ко одному отделению.
Сущность «Продукт» имеет связи с сущностями «Единица измерения» и
«Группа продуктов», связь с сущностью «Единица измерения» 1:M
(кардинальность (0,1): (0, M)) и связь с сущностью «Группа продуктов» 1:M
51
(кардинальность (1,1): (0, M)), т.е. продукт не обязательно в чем-то измеряется,
но обязательно относится к группе продуктов.
Сущность «Поставки» — это сущность, которая содержит данные о
поставках продуктов поставщиками, а также атрибуты о поставке для
дальнейших расчетов, связанных с заказами продуктов. Связи «Поставки» и
«Поставщики», «Поставки» и «Продукты» 1:M (кардинальность (1,1): (0, M)).
Сущность «Операции движения» - основная сущность для ведения
складского учета. Сущность связана с сущностью «Вид движения» 1:M
(кардинальность (1,1): (0, M)), т.к. должна быть однозначно определена, что за
движение произошло с товаром. Так же сущность «Операции движения» имеет
связь с сущностью «Состав» 1:M (кардинальность (1,1): (0, M)). Состав
однозначно определяется записью в операциях движения продуктом. Связь
сущности «Состав» и сущности «Продукты» 1:M (кардинальность (1,1): (0, M)).
Физическая схема базы данных информационной системы управления
запасами ООО «Оригами» приведена на рис. 2.17.
Рис. 2.17.Физическая схема базы данных информационной системы управления
запасами ООО «Оригами»
52
Характеристика базы данных информационной системы управления
запасами ООО «Оригами» приведена в таблицах 2.3-2.12.
Таблица 2.3
Структура таблицы «Employee» (Сотрудник)
Название поля
Тип поля
Размер поля
Описание поля
ID
int
4
Код
FullName
nvarchar
100
Фамилия, имя,
отчество
DepartmentFK
int
4
Код отделения
Login
nvarchar
20
Логин
Password
nvarchar
20
Пароль
Description
nvarchar
250
Описание
Таблица 2.4
Структура таблицы «Department» (Отделение)
Название поля
Тип поля
Размер поля
Описание поля
ID
int
4
Код
Caption
nvarchar
50
Название
Description
nvarchar
250
Описание
IsStore
bit
1
Флаг склада
Таблица 2.5
Структура таблицы «Supplier» (Поставщик)
Название поля
Тип поля
Размер поля
Описание поля
ID
int
4
Код
Caption
nvarchar
50
Название
Description
nvarchar
250
Описание
Таблица 2.6
Структура таблицы «MoveType» (Вид движения)
Название поля
Тип поля
Размер поля
Описание поля
ID
int
4
Код
Caption
nvarchar
50
Название
Action
nvarchar
1
Вид арифм.
действия
Description
nvarchar
250
Описание
53
Таблица 2.7
Структура таблицы «ProductGroup» (Группа продукта)
Название поля
Тип поля
Размер поля
Описание поля
ID
int
4
Код
Caption
nvarchar
50
Название
Таблица 2.8
Структура таблицы «Unit» (Единицы измерения)
Название поля
Тип поля
Размер поля
Описание поля
ID
int
4
Код
ShortCaption
nvarchar
50
Сокр. название
FullCaption
nvarchar
250
Описание
Таблица 2.9
Структура таблицы «Product» (Продукт)
Название поля
Тип поля
Размер поля
Описание поля
ID
int
4
Код
GroupFK
nvarchar
50
Код группы
Caption
nvarchar
250
Наименование
UnitFK
int
4
Код ед. измерения
StorageCost
float
4
Стоимость хранения 1
ед.
Description
nvarchar
250
Описание
Balance
float
8
Остаток
Таблица 2.10
Структура таблицы «SupplierProduct» (Поставки)
Название поля
Тип поля
Размер поля
Описание поля
ID
int
4
Код
ProductFK
int
4
Код продукта
SupplierFK
int
4
Код постащика
DeliveryTime
float
8
Время поставки
DeliveryDelay
float
8
Возможная задержка
поставки
DeliveryCost
float
8
Стоимость поставки 1
ед.
54
Таблица 2.11
Структура таблицы «MoveProduct» (Операции движения)
Название поля
Тип поля
Размер поля
Описание поля
ID
int
4
Код
MoveTypeFK
int
4
Код вида движения
DateMove
datetime2
8
Дата операции
MoveFrom
int
4
Код поставщика
MoveTo
int
4
Код получателя
NumberDoc
nvarchar
50
Номер документа
Description
nvarchar
250
Описание
EmployeeFK
int
4
Код сотрудника
Таблица 2.12
Структура таблицы «MoveProductItems» (Состав)
Название поля
Тип поля
Размер поля
Описание поля
ID
int
4
Код
MoveProductFK
int
4
Код операции
ProductFK
int
4
Код продукта
Quantity
real
4
Количество
Cost
float
8
Стоимость 1 ед.
Description
nvarchar
250
Описание
На следующем этапе приведем описание основных модулей
информационной системы управления запасами ООО «Оригами».
2.3.3 Описание основных модулей системы
Описание основных модулей информационной системы управления
запасами ООО «Оригами» приведено в таблице 2.13.
Таблица 2.13
Описание основных модулей информационной системы управления запасами
ООО «Оригами»
Название модуля
Описание
1
2
Модуль авторизации
Степень защиты данных
Справочник «Единицы измерения»
Ведется учет единиц измерения
Справочник «Список товаров»
Ведется учет товаров
Справочник «Поставщики»
Ведется учет поставщиков
Справочник «Отделения»
Ведется учет отделений
55
Продолжение таблицы 2.13
1
2
Справочник «Сотрудники»
Ведется учет сотрудников
Операция «Поставщик-Склад»
Ведется складских операций доставки
сырья от поставщика на склад
Операция «Склад-Поставщик»
(возврат)
Ведется учет складских операций возврата
брака поставщику
Операция «Склад-Отделения»
Ведется учет складских операций
оприходования продукции с производства
Операция «Отделения-Склад»
(возврат)
Ведется учет складских операций возврата
брака на производство
Система с фиксированным размером
заказа
Производится оптимизация запасов
товаров на складе по размеру заказа
Система с фиксированным
интервалом времени
Производится оптимизация запасов
товаров на складе по интервалу времени
Движение товара
Контролируется движение товаров на
складе
О программе
Приводится справочная информация по
назначению программного продукта
На следующем этапе приведем описание разработанной информационной
системы управления запасами ООО «Оригами».
2.3.4 Описание разработанной программы
Для входа в информационную систему управления запасами ООО
«Оригами» необходимо ввести логин и пароль в форму авторизации,
приведенную на рис. 2.18.
Рис.2.18. Форма авторизации в информационной системе управления запасами
ООО «Оригами»

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

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