Создание базы данных для хранения информации о материалах на складе

Проектирование приложения для управления материалами на складе

 

Задание

 

Требуется разработать приложение для учета остатков материалов на складе.

Для хранения данных о материалах разработайте структуру базы данных о хранящихся материалах, создайте таблицы, установите необходимые связи и введите данные о 10-12 материалах и их поставщиках.

Вывод данных о имеющихся материалах должен соответствовать макету, представленному на рис. 1:

 

Рис. 1. Макет вывода данных о материалах

 

При отсутствии изображения необходимо вывести картинку-заглушку, представленную на рис. 2.  (picture.png).

 

Рис. 2. Картинка-заглушка, выводимая при отсутствии в базе данных изображения материала

 

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

Пользователь должен иметь возможность отсортировать материалы (по возрастанию и убыванию) по следующим параметрам: наименование, остаток на складе и стоимость. Выбор сортировки должен быть реализован с помощью выпадающего списка.

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

Пользователь должен иметь возможность искать материалы, используя поисковую строку. Поиск должен осуществляться по наименованию и описанию материала.

Поиск, сортировка и фильтрация должны происходить в реальном времени, без необходимости нажатия кнопки «найти» / «отфильтровать» и т.п. Фильтрация и поиск должны применяться совместно. Параметры сортировки, выбранные ранее пользователем, должны сохраняться и во время фильтрации с поиском.

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

Необходимо подсвечивать строки с данными о конкретном материале в зависимости от минимального допустимого количества и наличия на складе. В случае если количество материала меньше, чем указанное минимальное количество, в качестве фона необходимо применить цвет #f19292. В случае если текущее количество составляет 300% и более от минимального количества, то необходимо использовать цвет с кодом #ffba01.

В списке материалов необходимо добавить возможность изменения минимального количества сразу для нескольких выбранных материалов. Для этой цели реализуйте возможность выделения сразу нескольких элементов в списке материалов, после чего должна появиться кнопка «Изменить минимальное количество на ...». При нажатии на кнопку необходимо отобразить модальное окно с возможностью ввода числового значения, на которое и будет изменено значение минимального количества всех выбранных материалов. По умолчанию в поле должно быть введено максимальное значение этого параметра среди всех материалов. После нажатия кнопки «Изменить» минимальное количество выделенных материалов должна быть изменено в базе данных, а также обновлено в интерфейсе.

Необходимо реализовать возможность добавления и редактирования информации об исходных материалах.

Необходимо добавить возможность редактирования существующего материала, а также добавление нового материала в новом окне - форме для добавления/редактирования материала. Переход на данное окно для редактирования материала должен быть реализован из главной формы при двойном щелчке по материалу. Для добавления - при нажатии кнопки «Добавить материал».

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

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

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

После редактирования/добавления/удаления материалов данные в окне списка материалов должны быть обновлены.

 

Создание базы данных для хранения информации о материалах на складе

 

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

Данные таблицы приведены на рис. 3 – 6.

 

Рис. 3. Таблица для хранения информации о материалах

 

Рис.4. Таблица для хранения информации о поставщиках

 

 

Рис. 5. Таблица для хранения информации о типах материалов

 

Рис. 6. Таблица для хранения информации о списке поставщиков, поставляющих конкретный материал

 

Установим связи между созданными таблицами базы данных (см. рис. 7).

 

Рис. 7. Связи между таблицами базы данных

 

Занесем в базу данных информацию о 12 материалах без изображений материалов.

Вначале заполним родительские таблицы с данными о поставщиках (см. рис. 8) и типах материалов (см. рис. 9), потом внесем данные о самих материалах (см. рис. 10), и только в последнюю очередь внесем данные о списке поставщиков (см. рис. 11), поставивших конкретные материалы.

 

Рис. 8. Таблица с данными о поставщиках материалов

 

Рис. 9. Таблица с данными о типах материалов

 

Рис. 10. Таблица с данными о материалах

 

Рис. 11. Таблица с данными о списке поставщиков, поставивших материалы

 

Теперь напишем приложение, которое импортирует изображения материалов в базу данных. Для этого подготовим изображения, импортируемые в базу данных. Для того, чтобы наше приложение могло сопоставить материал с его изображением (определить, какому материалу соответствует изображение), дадим изображением имена, совпадающие с идентификаторами материалов, хранящимися в поле IDMaterial.

Создадим в VisualStudio новый проект приложения Vindows Forms. Дадим этому проекту название ImportMaterialImage.

Подключим к проекту созданную базу данных. Для этого в меню «Вид» выберем окно «Обозреватель серверов» (см. рис. 12).

 

Рис. 12. Открытие окна «Обозреватель серверов»

 

Нажмем кнопку подключения к базе данных (см. рис. 13).

 

Рис. 13. Кнопка подключения к базе данных

 

В открывшемся окне укажем имя сервера (у вас оно может отличаться от приведенного на рис. 14), имя базы данных и нажмем «ОК» (см. рис. 14).

Рис. 14. Подключение к базе данных

 

Далее в меню «Вид» выберем пункт «Другие окна» и в открывшемся окне выберем пункт «Источники данных» (см. рис. 15).

Рис. 15. Подключение источника данных

 

В окне «Источники данных» нажмем кнопку «Добавить новый источник данных» (см. рис. 16).

 

Рис. 16. Открытие окна для добавления нового источника данных

 

В качестве источника данных для приложения выберем «База данных» и нажмем кнопку «Далее» (см. рис. 17).

 

Рис. 17. Выбор базы данных в качестве источника данных

 

В качестве типа модели базы данных выберем «Набор данных» (см. рис. 18).

Рис. 18. Выбор типа модели базы данных

 

Укажем имя подключаемой базы данных и нажмем «Далее» (см. рис. 19).

Рис. 19. Выбор подключения к базе данных

 

Согласимся с предложенным по умолчанию именем строки подключения и нажмем «Далее» (см. рис. 20).

Рис. 20. Выбор имени строки подключения к базе данных

 

В качестве подключаемых объектов выберем «Таблицы» и нажмем кнопку «Готово» (см. рис. 21).

Рис. 21. Выбор объектов базы данных

 

В окне «Источники данных» установим для отображения изображения элемент PictureBox (см. рис. 22).

Рис. 22. Выбор PictureBox в качестве элемента для отображения изображений

 

 

Вытащим поле «Photo» на форму. Добавим на форму кнопку Button, которой дадим имя bLoad и выведем на кнопку текст «Загрузить» (см. рис. 23).

Рис. 23. Интерфейс формы для загрузки изображений

 

Добавим в раздел используемых библиотек using System.IO

Теперь напишем обработчик кнопки загрузить.

 

 

Запустим приложение, нажмем «Загрузить». Произойдет загрузка изображений. Теперь откроем базу данных и в таблице с данными о материалах проверим, что загружены изображения (см. рис. 24).

Рис. 24. Изображения, загруженные в таблицу «Materials»

 

Программирование приложения для управления материалами на складе


Дата добавления: 2022-07-02; просмотров: 71; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!