Создание базы данных для хранения информации о материалах на складе
Проектирование приложения для управления материалами на складе
Задание
Требуется разработать приложение для учета остатков материалов на складе.
Для хранения данных о материалах разработайте структуру базы данных о хранящихся материалах, создайте таблицы, установите необходимые связи и введите данные о 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!