Описание программы ис «рациональное питание школьников»
Информационная система «рациональное питание школьников», разработана с учетом анализа предметной области, на основании инфологической и даталогической моделей, технического задания, рекомендаций и правил по ведению данной программы. Имеет простой и понятный интерфейс.
Главное окно нашей ИС состоит из перечня продуктов, возможностью редактирования добавления и удаления строк. Тут же можно перейти в разделы склад, формирование блюда и меню в соответствии с рисунком 7.
Рисунок 7 – Главное окно
Перейдя в раздел формирование блюд, мы увидим перечень блюд внесенных с технологических карт на данный момент. У каждого есть свое содержание белков, жиров, углеводов и энергетическая ценность. А у ингредиентов каждого из блюд написано нетто и брутто, это масса продукта необходимая для этого блюда в соответствии с рисунком 8.
Рисунок 8 –Раздел блюда
Листинг 1 – раздел блюда
unit SostavBludoUnit;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids, DBGrids, Menus, ExtCtrls;
type TSostavBludoForm = class(TForm) DBGrid1: TDBGrid; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; Panel1: TPanel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; BitBtn5: TBitBtn; Panel2: TPanel; DBGrid2: TDBGrid; procedure BitBtn1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure BitBtn5Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var SostavBludoForm: TSostavBludoForm;
implementation
uses BludoUnit, ProductsUnit, DMUnit, BludoUnit1, EditBludoUnit;
{$R *.dfm}
procedure TSostavBludoForm.BitBtn1Click(Sender: TObject); begin i:=1; EditBludoForm.ShowModal; end;
procedure TSostavBludoForm.BitBtn3Click(Sender: TObject); var id:string; begin If DBGrid1.SelectedField.IsNull then begin Application.MessageBox(Pchar('Удаление пустой строки не возможно!'),'Warning!',mb_Ok) end else If application.MessageBox(PChar('Вы действительно хотите удалить блюдо: '+DMU.BludoZQname.AsString+' ?'),'',mb_YesNo+mb_IconQuestion)=id_Yes then with DMU do begin id:=BludoZQ.FieldByName('idbludo').AsString; EditBludoZQ.Close; EditBludoZQ.SQL.Clear; EditBludoZQ.SQL.Add('DELETE FROM Bludo WHERE idBludo="'+id+'"'); EditBludoZQ.ExecSQL; BludoZQ.Refresh; DBGrid1.Refresh; end; end;
procedure TSostavBludoForm.BitBtn2Click(Sender: TObject); begin i:=2; EditBludoForm.ShowModal; end;
procedure TSostavBludoForm.BitBtn4Click(Sender: TObject); begin BludoForm.ShowModal; end;
procedure TSostavBludoForm.N1Click(Sender: TObject); begin BitBtn1.Click; end;
procedure TSostavBludoForm.N2Click(Sender: TObject); begin BitBtn2.Click; end;
procedure TSostavBludoForm.N3Click(Sender: TObject); begin BitBtn4.Click; end;
procedure TSostavBludoForm.N4Click(Sender: TObject); begin BitBtn3.Click; end;
procedure TSostavBludoForm.BitBtn5Click(Sender: TObject); begin Close; end;
end. |
При желании можно добавить новое блюдо, указав его данные в соответствии с рисунком 9
Рисунок 9 – форма добавления нового блюда
Есть возможность редактирования состава уже созданного блюда в соответствии с рисунком 10.
Рисунок 10 – Редактирование состава блюд
Листинг 2 – Состав блюда
unit BludoUnit;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, DBCtrls, Grids, DBGrids;
type TBludoForm = class(TForm) DBLookupListBox1: TDBLookupListBox; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; Label1: TLabel; DBGrid1: TDBGrid; Label2: TLabel; procedure FormActivate(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var BludoForm: TBludoForm;
implementation
uses DMUnit, DB, MassaUnit;
{$R *.dfm}
procedure TBludoForm.FormActivate(Sender: TObject); var id:string; begin Label1.Caption:='Состав блюда - "'+DMU.BludoZQname.AsString+'"'; Label2.Caption:='Состав блюда - "'+DMU.BludoZQname.AsString+'"'; //id:=DMU.EditBludoZQ.SQL.Add('SELECT MAX(idbludo) FROM bludo'); //DMU.EditBludoZQ.ExecSQL; //DMU.EditBludoZQ.SQL.Clear; //DMU.EditBludoZQ.SQL.Add('SELECT name FROM bludo where idbludo="'+id+'"'); //DMU.EditBludoZQ.ExecSQL; end;
procedure TBludoForm.BitBtn1Click(Sender: TObject); begin MassaForm.ShowModal; end;
procedure TBludoForm.BitBtn2Click(Sender: TObject); var id:string; begin If DBGrid1.SelectedField.IsNull then begin Application.MessageBox(Pchar('Удаление пустой строки не возможно!'),'Warning!',mb_Ok) end else If application.MessageBox(PChar('Вы действительно хотите удалить ингридиент: '+DMU.SostavZQname.AsString+' ?'),'',mb_YesNo+mb_IconQuestion)=id_Yes then with DMU do begin id:=SostavZQ.FieldByName('idlink1').AsString; EditLink1ZQ.Close; EditLink1ZQ.SQL.Clear; EditLink1ZQ.SQL.Add('DELETE FROM Link1 WHERE idlink1="'+id+'"'); EditLink1ZQ.ExecSQL; SostavZQ.Refresh; DBGrid1.Refresh; end; end;
procedure TBludoForm.BitBtn3Click(Sender: TObject); begin Close; end;
end. |
Перейдя в раздел склад, можем посмотреть наличие товара на данный отрезок времени, увидеть цену и общую сумму каждого продукта в соответствии с рисунком 11.
Рисунок 11 - Склад
Листинг 3 - Склад
.unit SkladUnit;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids, DBGrids, Menus;
type TSkladForm = class(TForm) DBGrid1: TDBGrid; BitBtn1: TBitBtn; PopupMenu1: TPopupMenu; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; procedure BitBtn4Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var SkladForm: TSkladForm;
implementation
uses DMUnit, EditSkladUnit, ProductsUnit;
{$R *.dfm}
procedure TSkladForm.BitBtn4Click(Sender: TObject); begin Close; end;
procedure TSkladForm.BitBtn1Click(Sender: TObject); begin i:=1; EditSkladForm.ShowModal; end;
procedure TSkladForm.BitBtn2Click(Sender: TObject); begin i:=2; EditSkladForm.ShowModal; end;
procedure TSkladForm.BitBtn3Click(Sender: TObject); var id:string; begin If DBGrid1.SelectedField.IsNull then begin Application.MessageBox(Pchar('Удаление пустой строки не возможно!'),'Warning!',mb_Ok) end else If application.MessageBox(PChar('Вы действительно хотите удалить со склада продукт : '+DMU.SkladZQname.AsString+' ?'),'',mb_YesNo+mb_IconQuestion)=id_Yes then with DMU do begin id:=SkladZQidsklad.AsString; EditSkladZQ.Close; EditSkladZQ.SQL.Clear; EditSkladZQ.SQL.Add('DELETE FROM sklad WHERE idsklad="'+id+'"'); EditSkladZQ.ExecSQL; SkladZQ.Refresh; DBGrid1.Refresh; end; end;
end. |
При приходе товара можно добавить наличие в соответствии с рисунком 12, изменить или удалить ненужный компонент.
Рисунок 12 – форма добавления продуктов
Для составления меню необходимо выбрать день в соответствии с рисунком 13, затем выбрать что вы ходите завтрак, обед или ужин, и создать его с помощью формы в соответствии с рисунком 14. Есть возможность посмотреть что было в предыдущие дни воспользовавшись календарем. Показывается общая энергетическая ценность за каждый из периодов. Производится экспорт перечня выбранных блюд в Excel в соответствии с рисунком 15.
Рисунок 13 – форма создание меню
Рисунок 14 – Форма Создание обеда
Рисунок 15 – Перенос в Excel
Перейдя в раздел расчеты в соответствии с рисунком 16 можно посмотреть отчет по потраченным деньгам на каждый день в формате Excel. Также предоставляется отчет о количестве израсходованных продуктов питания за десять дней за период выбранный для отчета. А так же сравнение и результат в процентах о отклонении от нормы потребляемых продуктов по каждому ингредиенту.
Рисунок 16 – Расчеты
ИС защищена от случайного нажатия на пусковые устройства, где этого существует проверка на согласие выполнения удаления в соответствии с рисунком 17. И при желании сохранить пустые строки выдаст сообщение , что еще не все поля в соответствии с рисунком 18.
Рисунок 17 – Запрос на согласие удаления компонента
Рисунок 18 – Запрет на сохранение пустых строк
- Содержание
- Реферат
- Список сокращений
- Введение
- I аналитическая часть
- Технико-экономическая характеристика предметной области
- Рацион школьного питания
- Описание опыта работы школьной столовой
- Техническая и технологическая сущность задачи
- Обоснование необходимости и цели использования вычислительных и телекоммуникационных средств для решения задачи
- Постановка задачи
- Цель и назначение создания или модернизации модулей или сервисов информационной системы
- Общая характеристика организации решения задачи вычислительными и телекоммуникационными средствами
- Анализ существующих разработок и обоснование выбора технологии проектирования модулей (сервисов)
- Обоснование проектных решений
- II проектная часть
- Общее описание ис «Рациональное питание школьника»
- Инфологическая модель
- Даталогическая модель
- Описание программы ис «рациональное питание школьников»
- III экономическая часть
- 3.1 Обоснование экономической эффективности внедрения ис
- 3.1.1 Выбор и обоснование методики расчета экономической эффективности
- 3.1.2 Расчет показателей экономической эффективности проекта
- IV охрана труда
- Меры безопасности при работе за компьютером
- Почему работа за компьютером наносит вред здоровью человека
- Зрительная работа за компьютером и ее последствия
- Список используемой литературы