Файл: «Проектирование реализации операций бизнес-процесса «Движение библиотечного фонда»(Выбор комплекса задач автоматизации).pdf
Добавлен: 17.06.2023
Просмотров: 859
Скачиваний: 0
СОДЕРЖАНИЕ
1.1 Выбор комплекса задач автоматизации
2.2 Поисковая системный библиотека каталог книга
2.3 Система формирования заказов
3.1 Обоснование проектных решений по информационному обеспечению
3.2 Обоснование проектных решений по программному обеспечению
1. Характеристика результатной информации
1.1 Общие положения (дерево функций и сценарий диалога)
1.2 Характеристика базы данных
1.3 Структурная схема пакета (дерево вызова программных модулей)
TQRLabel *QRLabel1;
TQRBand *QRBand2;
TQRBand *QRBand3;
TQRLabel *QRLabel2;
TQRLabel *QRLabel3;
TQRLabel *QRLabel4;
TDataSource *DataSourceComputerTehnika;
TQRLabel *QRLabel5;
TQRBand *QRBand4;
TQRDBText *QRDBText1;
TQRDBText *QRDBText2;
TQRDBText *QRDBText3;
TQRDBText *QRDBText4;
TADODataSet *ADODataSetComputerTehnika;
TAutoIncField *ADODataSetComputerTehnikaCod;
TWideStringField *ADODataSetComputerTehnikaName;
TBCDField *ADODataSetComputerTehnikaCena;
TBooleanField *ADODataSetComputerTehnikaProdan;
TDateTimeField *ADODataSetComputerTehnikaDataPostup;
TMemoField *ADODataSetComputerTehnikaOpisanie;
TBlobField *ADODataSetComputerTehnikaPicture;
TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;
TADODataSet *ADODataSetVidTehniki;
TDataSource *DataSourceVidTehniki;
TAutoIncField *ADODataSetVidTehnikiCod;
TWideStringField *ADODataSetVidTehnikiName;
TStringField *ADODataSetComputerTehnikaNameVidTehniki;
void __fastcall QuickRep1AfterPreview(TObject *Sender);
void __fastcall FormActivate(TObject *Sender);
void __fastcall FormShow(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TFormReport(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TFormReport *FormReport;
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
#ifndef UnitReport2H
#define UnitReport2H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <DB.hpp>
#include <DBTables.hpp>
#include <ExtCtrls.hpp>
#include <QRCtrls.hpp>
#include <QuickRpt.hpp>
#include <ADODB.hpp>
//---------------------------------------------------------------------------
class TFormReport2 : public TForm
{
__published: // IDE-managed Components
TQuickRep *QuickRep1;
TQRBand *QRBand1;
TQRLabel *QRLabel1;
TQRBand *QRBand2;
TQRBand *QRBand3;
TQRLabel *QRLabel2;
TQRLabel *QRLabel3;
TQRLabel *QRLabel4;
TDataSource *DataSourceComputerTehnika;
TQRLabel *QRLabel5;
TQRBand *QRBand4;
TQRDBText *QRDBText1;
TQRDBText *QRDBText2;
TQRDBText *QRDBText3;
TQRDBText *QRDBText4;
TADODataSet *ADODataSetComputerTehnika;
TAutoIncField *ADODataSetComputerTehnikaCod;
TWideStringField *ADODataSetComputerTehnikaName;
TBCDField *ADODataSetComputerTehnikaCena;
TBooleanField *ADODataSetComputerTehnikaProdan;
TDateTimeField *ADODataSetComputerTehnikaDataPostup;
TMemoField *ADODataSetComputerTehnikaOpisanie;
TBlobField *ADODataSetComputerTehnikaPicture;
TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;
TADODataSet *ADODataSetVidTehniki;
TDataSource *DataSourceVidTehniki;
TAutoIncField *ADODataSetVidTehnikiCod;
TWideStringField *ADODataSetVidTehnikiName;
TStringField *ADODataSetComputerTehnikaNameVidTehniki;
TDataSource *DataSourceHistory;
TADODataSet *ADODataSetHistory;
TAutoIncField *ADODataSetHistoryCod;
TIntegerField *ADODataSetHistoryCodComputerTehnika;
TIntegerField *ADODataSetHistoryCodManager;
TDateTimeField *ADODataSetHistoryDataProdazhi;
TBCDField *ADODataSetHistoryCena;
TDateField *ADODataSetComputerTehnikaDataProdazhi;
void __fastcall QuickRep1AfterPreview(TObject *Sender);
void __fastcall FormActivate(TObject *Sender);
void __fastcall FormShow(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TFormReport2(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TFormReport2 *FormReport2;
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
#ifndef VidTehnikiH
#define VidTehnikiH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ADODB.hpp>
#include <DB.hpp>
#include <DBGrids.hpp>
#include <Grids.hpp>
#include <DBCtrls.hpp>
#include <ExtCtrls.hpp>
#include <Mask.hpp>
//---------------------------------------------------------------------------
class TFormVidTehniki : public TForm
{
__published: // IDE-managed Components
TDBGrid *DBGridVidTehniki;
TADODataSet *ADODataSetVidTehniki;
TDataSource *DataSourceVidTehniki;
TDataSource *DataSourceManager;
TADODataSet *ADODataSetComputerTehnika;
TGroupBox *GroupBox1;
TDBEdit *DBEditName;
TPanel *Panel1;
TButton *ButtonAdd;
TButton *ButtonDelete;
TButton *ButtonChange;
TButton *ButtonExit;
TPanel *Panel2;
TButton *ButtonPost;
TButton *ButtonOtmen;
TAutoIncField *ADODataSetVidTehnikiCod;
TWideStringField *ADODataSetVidTehnikiName;
TAutoIncField *ADODataSetComputerTehnikaCod;
TWideStringField *ADODataSetComputerTehnikaName;
TBCDField *ADODataSetComputerTehnikaCena;
TDateTimeField *ADODataSetComputerTehnikaDataPostup;
TMemoField *ADODataSetComputerTehnikaOpisanie;
TBlobField *ADODataSetComputerTehnikaPicture;
TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;
TBooleanField *ADODataSetComputerTehnikaProdan;
void __fastcall ButtonAddClick(TObject *Sender);
void __fastcall ButtonDeleteClick(TObject *Sender);
void __fastcall ButtonChangeClick(TObject *Sender);
void __fastcall ButtonExitClick(TObject *Sender);
void __fastcall ButtonPostClick(TObject *Sender);
void __fastcall ButtonOtmenClick(TObject *Sender);
void __fastcall FormShow(TObject *Sender);
void __fastcall DBEditNameKeyPress(TObject *Sender, char &Key);
private: // User declarations
public: // User declarations
__fastcall TFormVidTehniki(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TFormVidTehniki *FormVidTehniki;
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
#ifndef VnalichiiH
#define VnalichiiH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ADODB.hpp>
#include <DB.hpp>
#include <DBGrids.hpp>
#include <Grids.hpp>
#include <DBCtrls.hpp>
#include <Menus.hpp>
//---------------------------------------------------------------------------
class TFormVnalichii : public TForm
{
__published: // IDE-managed Components
TDBGrid *DBGridComputerTehnika;
TADODataSet *ADODataSetComputerTehnika;
TDataSource *DataSourceComputerTehnika;
TAutoIncField *ADODataSetComputerTehnikaCod;
TWideStringField *ADODataSetComputerTehnikaName;
TBCDField *ADODataSetComputerTehnikaCena;
TBooleanField *ADODataSetComputerTehnikaProdan;
TDateTimeField *ADODataSetComputerTehnikaDataPostup;
TMemoField *ADODataSetComputerTehnikaOpisanie;
TBlobField *ADODataSetComputerTehnikaPicture;
TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;
TDataSource *DataSourceVidTehniki;
TADODataSet *ADODataSetVidTehniki;
TStringField *ADODataSetComputerTehnikaNameVidTehniki;
TDBImage *DBImageFoto;
TDBMemo *DBMemoOpisanie;
TButton *ButtonExit;
TButton *ButtonPrint;
TPopupMenu *PopupMenu1;
TMenuItem *N1;
TMenuItem *N2;
void __fastcall ButtonExitClick(TObject *Sender);
void __fastcall DBGridComputerTehnikaCellClick(TColumn *Column);
void __fastcall FormShow(TObject *Sender);
void __fastcall ButtonPrintClick(TObject *Sender);
void __fastcall N1Click(TObject *Sender);
void __fastcall N2Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TFormVnalichii(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TFormVnalichii *FormVnalichii;
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ComputerTehnika.h"
#include "DM.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormComputerTehnika *FormComputerTehnika;
//---------------------------------------------------------------------------
__fastcall TFormComputerTehnika::TFormComputerTehnika(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormComputerTehnika::ButtonFotoClick(TObject *Sender)
{ char *s;
OpenDialogFoto->InitialDir= ExtractFileDir(Application->ExeName);
if(OpenDialogFoto->Execute()==true) //вызовдиалогавыборафайла
{DBImageFoto->Visible=true;
s= OpenDialogFoto->FileName.c_str(); //получитьнаименованиевыбранногофайласполнымпутем
DBImageFoto->Picture->LoadFromFile(s);
}
else
{if(ADODataSetComputerTehnikaPicture->Value=="")
DBImageFoto->Visible=false;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormComputerTehnika::FormShow(TObject *Sender)
{
ADODataSetComputerTehnika->Close();
ADODataSetComputerTehnika->Open();
ADODataSetVidTehniki->Close();
ADODataSetVidTehniki->Open();
}
//---------------------------------------------------------------------------
//Выполняется при нажатии кнопки Добавить
void __fastcall TFormComputerTehnika::ButtonAddClick(TObject *Sender)
{
if(ADODataSetComputerTehnika->State==dsBrowse)
{ADODataSetComputerTehnika->Insert();
Panel1->Visible=false;
Panel2->Visible=true;
GroupBox1->Visible=true;
DateTimePickerDataPostup->Date= Date();
DBEditName->SetFocus();
}
}
//---------------------------------------------------------------------------
//Выполняется при нажатии кнопки Удалить
void __fastcall TFormComputerTehnika::ButtonDeleteClick(TObject *Sender)
{
if(ADODataSetComputerTehnika->RecordCount==0) //естьлиданныевБД
{ButtonChange->Enabled=false;//сделать кнопку Изменить недоступной
ButtonDelete->Enabled=false;//сделать кнопку Удалить недоступной
ShowMessage("Данные отсутствуют в БД!"); //вывести сообщение в виде окошка
return;//выходизформы
}
if(ADODataSetComputerTehnika->State==dsBrowse)
if(Application->MessageBoxA("Подтвердитеудалениезаписи
!","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)
ADODataSetComputerTehnika->Delete();//удалитьзаписьизтаблицыБД
}
//---------------------------------------------------------------------------
//ВыполняетсяпринажатиикнопкиИзменить
void __fastcall TFormComputerTehnika::ButtonChangeClick(TObject *Sender)
{
if(ADODataSetComputerTehnika->RecordCount==0) //есть ли данные в БД - кол-во записей в таблице БД
{ShowMessage("Данные отсутствуют в БД!");//вывести сообщение в виде окошка
return;//выходизформы
}
if(ADODataSetComputerTehnika->State==dsBrowse)
ADODataSetComputerTehnika->Edit();//перевести таблицу БД в режим редактирования
Panel1->Visible=false;//сделать панель невидимой
Panel2->Visible=true;//сделать панель видимой
GroupBox1->Visible=true;//сделать панель видимой
DateTimePickerDataPostup->Date= ADODataSetComputerTehnikaDataPostup->Value;
DBEditName->SetFocus(); //установить фокус в поле для ввода
}
//---------------------------------------------------------------------------
//Выполняется при нажатии кнопки Выход
void __fastcall TFormComputerTehnika::ButtonExitClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
//------Выполняется при нажатии кнопки Запомнить
void __fastcall TFormComputerTehnika::ButtonPostClick(TObject *Sender)
{
//------проверка всех введенных данных
if(DBEditName->Text=="" )//проверка введенных данных
{ShowMessage("Введите название !");//вывод диалогового окна с сообщением
return;//выход из процедуры
}
if(DBEditCena->Text=="" )//проверка введенных данных
{ShowMessage("Введите цену !");//вывод диалогового окна с сообщением
return;//выход из процедуры
}
if(DBMemoOpisanie->Text=="" )//проверка введенных данных
{ShowMessage("Введите описание !");//вывод диалогового окна с сообщением
return;//выход из процедуры
}
if(ADODataSetComputerTehnikaCodVidTehniki->Value==0 )//проверка введенных данных
{ShowMessage("Введите вид товара!");//вывод диалогового окна с сообщением
return;//выход из процедуры
}
//-----------
ADODataSetComputerTehnikaDataPostup->Value= DateTimePickerDataPostup->Date;
ADODataSetComputerTehnika->Post();//запомнить все изменения в таблице БД
Panel1->Visible=true;//сделать панель видимой
Panel2->Visible=false;//сделать панель невидимой
GroupBox1->Visible=false;//сделать панель невидимой
ButtonChange->Enabled=true;//сделать кнопку Изменить доступной
ButtonDelete->Enabled=true;//сделать кнопку Удалить доступной
}
//---------------------------------------------------------------------------
//Выполняется при нажатии кнопки Отменить
void __fastcall TFormComputerTehnika::ButtonOtmenClick(TObject *Sender)
{
ADODataSetComputerTehnika->Cancel();//отменить все изменения - данные в таблице БД не сохраняются
Panel1->Visible=true;//сделать панель видимой
Panel2->Visible=false;//сделать панель невидимой
GroupBox1->Visible=false;//сделать панель невидимой
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "DiagrammaOklad.h"
#include "DM.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormDiagrammaOklad *FormDiagrammaOklad;
//---------------------------------------------------------------------------
__fastcall TFormDiagrammaOklad::TFormDiagrammaOklad(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormDiagrammaOklad::FormShow(TObject *Sender)
{
ADODataSetManager->Close();
ADODataSetManager->Open();
}
//---------------------------------------------------------------------------
void __fastcall TFormDiagrammaOklad::ADODataSetManagerCalcFields(
TDataSet *DataSet)
{
ADODataSetManagerFIO2->Value= ADODataSetManagerFIO->Value;
}
//---------------------------------------------------------------------------
void __fastcall TFormDiagrammaOklad::ButtonExitClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFormDiagrammaOklad::N1Click(TObject *Sender)
{
ButtonExitClick(Sender);
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "DM.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TDM1 *DM1;
//---------------------------------------------------------------------------
__fastcall TDM1::TDM1(TComponent* Owner)
: TDataModule(Owner)
{
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Dolgnost.h"
#include "DM.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormDolgnost *FormDolgnost;
//---------------------------------------------------------------------------
__fastcall TFormDolgnost::TFormDolgnost(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
//Выполняется при нажатии кнопки Добавить
void __fastcall TFormDolgnost::ButtonAddClick(TObject *Sender)
{
if(ADODataSetDolgnost->State==dsBrowse)
{ADODataSetDolgnost->Insert();
Panel1->Visible=false;
Panel2->Visible=true;
GroupBox1->Visible=true;
DBEditName->SetFocus();
}
}
//---------------------------------------------------------------------------
//ВыполняетсяпринажатиикнопкиУдалить
void __fastcall TFormDolgnost::ButtonDeleteClick(TObject *Sender)
{
if(ADODataSetDolgnost->RecordCount==0) //естьлиданныевБД
{ButtonChange->Enabled=false;//сделатькнопкуИзменитьнедоступной
ButtonDelete->Enabled=false;//сделать кнопку Удалить недоступной
ShowMessage("Данные отсутствуют в БД!"); //вывести сообщение в виде окошка
return;//выходизформы
}
if(ADODataSetDolgnost->State==dsBrowse)
if(Application->MessageBoxA("Подтвердитеудалениезаписи !","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)
{ADODataSetManager->Close();
ADODataSetManager->CommandText= "select * from TablManager where CodDolgnost="+IntToStr(ADODataSetDolgnostCod->Value);
ADODataSetManager->Open();
if(ADODataSetManager->RecordCount>0)
{ShowMessage("Ошибка при удалении! В таблице 'TablManager' имеются связанные записи!"); //вывести сообщение в виде окошка
return;//выход из процедуры
}
ADODataSetDolgnost->Delete();//удалить запись из таблицы БД
}
}
//---------------------------------------------------------------------------
//Выполняется при нажатии кнопки Изменить
void __fastcall TFormDolgnost::ButtonChangeClick(TObject *Sender)
{
if(ADODataSetDolgnost->RecordCount==0) //есть ли данные в БД - кол-во записей в таблице БД
{ShowMessage("Данные отсутствуют в БД!");//вывести сообщение в виде окошка
return;//выходизформы
}
if(ADODataSetDolgnost->State==dsBrowse)
ADODataSetDolgnost->Edit();//перевести таблицу БД в режим редактирования