Модуль учета поставок компьютеров, оргтехнике и комплектующих

Автор: Пользователь скрыл имя, 28 Февраля 2013 в 12:24, дипломная работа

Описание работы

Основной задачей предприятия по организации материально-техническим обеспечением является своевременное, бесперебойное и комплексное снабжение производства необходимой компьютерной техникой для осуществления автоматизации производственных процессов. Задачей отдела информационных технологий является своевременное и полное обеспечение всех подразделений завода вычислительной техникой.

Содержание

ВВЕДЕНИЕ 5
1 ОБЩАЯ ЧАСТЬ 7
1.1 Цель разработки 7
1.2 Анализ использования разработки 7
1.3 Анализ методов решения 8
1.4 Анализ средств автоматизации 9
2 Специальная часть 15
2.1 Постановка задачи 15
2.2 Описание алгоритма 18
2.3 Текст программы с описанием 20
2.4 Описание процесса отладки 21
2.5 Инструкция пользователя 22
3 Экономическая часть 29
3.1 Расчет себестоимости программного продукта «Модуль учета поставок компьютеров, оргтехники и комплектующих» 29
4 Охрана труда и Техника Безопасности 40
4.1 Анализ потенциально-опасных и вредных факторов 40
4.2 Техника безопасности 40
4.3 Эргономика 42
ЗАКЛЮЧЕНИЕ 45
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 46
ПРИЛОЖЕНИЕ 1 47

Работа содержит 1 файл

Пояснительная записка.docx

— 1.43 Мб (Скачать)

Рабочий стул (кресло) должен быть подъемно-поворотным и регулируемым по высоте и углам наклона сиденья  и спинки. А также расстоянию спинки от переднего края сидения.

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

Расстояние от глаз до экрана монитора должно быть 60-70 см.

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

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

 Каждый сотрудник должен  соблюдать следующие правила  во время работы:

  • Постоянно следить за исправностью оборудования;
  • Держать в порядке и чистоте рабочее место, не допускать его
  • загромождения, быть внимательным, не отвлекаться и не отвлекать других;
  • Включение ПЭВМ и других устройств ЭВТ в электросеть
  • разрешается только при наличии защитного заземления 
    (заземляющий контакт розетки питания либо подключение 
    корпусного болта изделия к шине защитного заземления);
  • Не разрешается во время работы снимать кожух или включать
  • ПЭВМ без защитного кожуха, перемещать  (передвигать) устройства ЭВТ подключенные к электросети;
  • Пользователям ПЭВМ запрещается самостоятельно
  • производить ремонтные и наладочные работы вычислительной техники;
  • Через    каждый час работы на ПЭВМ делать перерыв на 10-15
  • минут. Продолжительность непрерывной работы на ПЭВМ не должна превышать  четырех часов подряд;
  • Для снижения вредного воздействия излучений монитора
  • необходимо использовать заземленный защитный экран. Для мониторов, имеющих защитное  покрытие экрана, дополнительный защитный экран не требуется. Мониторы должны  устанавливаться      на      расстоянии не  менее 2м 22см друг от друга. Расстояние между работником и экраном монитора должно быть не менее 65см;
  • Площадь на одно рабочее место с ПЭВМ должна составлять
  • 7кв.м. , а объем - не менее 20куб.м;
  • Расположение рабочих мест с ПЭВМ в подвальных помещениях
  • не допускается. В случае производственной необходимости эксплуатация ПЭВМ в помещениях без естественного освещения может производиться только по согласованию с органами государственного санитарно - эпидемиологического надзора;
  • Работник должен уметь оказать первую медицинскую помощь
  • при поражении электротоком;
  • B случае плохого самочувствия прекратить работу, обратиться
  • за помощью к врачу, поставить в известность начальника своего подразделения.

 

ЗАКЛЮЧЕНИЕ

В результате дипломного проектирования был разработан программный продукт  «Модуль учёта поставок компьютеров, оргтехники и комплектующих», произведён расчёт себестоимости разработанного программного продукта.

Программный продукт представляет собой электронное ведение учёта  поставок компьютеров, оргтехники и  комплектующих на завод ЗАО «КольчугЦветМет». Также данный программный продукт  даёт возможность сотавления отчёта по поставкам в электронном виде (в самой программе), экспорт в  формат MS Excel и PDF для дальнейшего использования и возможность распечатать отчёт. Внедрение программного продукта позволит избавиться от большого количества бумаг, что приведёт к экономии денежных средств, сократит время на поиск информации по необходимой поставке и приведёт к более удобному хранению всей информации по поставкам.

В ходе создания дипломного проекта был изучен принцип работы СУБД PostgreSQL 9.1, а так же набор компонентов, используемых для создания программного продукта Unidac и FastReport.

 

СПИСОК  ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. ГОСТ 19.004-80. ЕСПД. Термины и определения.
  2. ГОСТ 19.102-77. ЕСПД. Стадии разработки.
  3. ГОСТ 19.702-90. ЕСПД. Схемы алгоритмов, программ, данных и систем.
  4. www.posgreSQL.org.
  5. htpp://ru.wikipedia.org/w/index.php?title=PostgreSQL&oldid=41067879.
  6. htpp://ru.wikipedia.org/wiki/Delphi_(среда_разработки).
  7. Культин Н.Б. ‘‘Основы программирования в Delphi XE.’’ Издательство: BHV-СПб. Год издания: 2011.
  8. Бельнова И. П. Методические указания к дипломному проектированию по разделу «Безопасность жизнедеятельности» и «Охрана труда». ГОУ СПО «Кольчугинский политехнический колледж», 2008
  9. Нормативно-справочная документация ЗАО «Кольчугцветмет»;
  10. Нормативно-расценочная карта для разработчика;
  11. Нормативно-расценочная карта для программиста;
  12. Методическое пособие по выполнению экономической части дипломного проекта, 2008

 

 

ПРИЛОЖЕНИЕ 1

Листинг программы.

unit Unit1;

interface

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Menus, Vcl.Imaging.jpeg,

  Vcl.ExtCtrls;

type

  TForm1 = class(TForm)

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    N6: TMenuItem;

    N7: TMenuItem;

    N8: TMenuItem;

    N5: TMenuItem;

    N10: TMenuItem;

    N11: TMenuItem;

    Image1: TImage;

    N9: TMenuItem;

    procedure N2Click(Sender: TObject);

    procedure N6Click(Sender: TObject);

    procedure N7Click(Sender: TObject);

    procedure N8Click(Sender: TObject);

    procedure N9Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

Form1: TForm1;

implementation

{$R *.dfm}

uses Unit2, Unit3, Unit4, Unit5, postavki_edit;

procedure TForm1.N2Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

Form1.Visible:=false;

Form2.visible:=true;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

Form1.Visible:=false;

Form3.visible:=true;

end;

procedure TForm1.N8Click(Sender: TObject);

begin

Form1.Visible:=false;

Form4.visible:=true;

end;

procedure TForm1.N9Click(Sender: TObject);

var PostavkiForm: TPostavkiForm;

begin

PostavkiForm := TPostavkiForm.Create(nil);

PostavkiForm.ShowModal;

PostavkiForm.Free;

end;

end.

 

unit Unit2;

ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

interface

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, DBGridEhGrouping, Data.DB, MemDS,

  DBAccess, Uni, UniProvider, PostgreSQLUniProvider, GridsEh, DBGridEh,

  Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.TabNotBk,

  Vcl.Buttons, Vcl.Imaging.jpeg, Vcl.Mask, Vcl.ImgList, Vcl.ToolWin, DBGridEhFindDlgs;

type

  TForm2 = class(TForm)

    DBGridEh1: TDBGridEh;

    PostgreSQLUniProvider1: TPostgreSQLUniProvider;

    UniConnection1: TUniConnection;

    UniQuery1: TUniQuery;

    TabbedNotebook1: TTabbedNotebook;

    Label1: TLabel;

    Label2: TLabel;

    Edit1: TEdit;

    ComboBox1: TComboBox;

    Label3: TLabel;

    ComboBox2: TComboBox;

    BitBtn2: TBitBtn;

    Label4: TLabel;

    Edit2: TEdit;

    Edit3: TEdit;

    Label5: TLabel;

    Edit6: TEdit;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    ComboBox3: TComboBox;

    ComboBox4: TComboBox;

    BitBtn4: TBitBtn;

    UniQuery2: TUniQuery;

ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1  

    Panel1: TPanel;

    Image2: TImage;

    DataSource: TUniDataSource;

    Image1: TImage;

    UniQuery1id: TLargeintField;

    UniQuery1link_kontragenti: TIntegerField;

    UniQuery1link_dogovora: TIntegerField;

    UniQuery1cena: TFloatField;

    UniQuery1kol_vo: TFloatField;

    UniQuery1inv_nomer: TIntegerField;

    UniQuery1data_platezha: TDateField;

    UniQuery1data_postavki: TDateField;

    UniQuery1primechanie: TWideStringField;

    UniQuery1id_1: TIntegerField;

    UniQuery1ed_izmer: TWideStringField;

    UniQuery1id_2: TLargeintField;

    UniQuery1vid: TWideStringField;

    UniQuery1id_3: TLargeintField;

    UniQuery1naimeninovanie: TWideStringField;

    UniQuery1ed_izmer_id: TIntegerField;

    UniQuery1vid_id: TIntegerField;

    UniQuery1photo: TBlobField;

    UniQuery1opisanie: TWideStringField;

    UniQuery1link_nomenklatura: TIntegerField;

    BitBtn1: TBitBtn;

    BitBtn3: TBitBtn;

    BitBtn5: TBitBtn;

    BitBtn6: TBitBtn;

    StatusBar1: TStatusBar;

    DBNavigator1: TDBNavigator;

    ToolBar1: TToolBar;

    ToolButton1: TToolButton;

    ToolButton2: TToolButton;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

   ImageList1: TImageList;

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure ComboBox2DropDown(Sender: TObject);

    procedure ComboBox1DropDown(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure BitBtn4Click(Sender: TObject);

    procedure DataSourceDataChange(Sender: TObject; Field: TField);

    procedure Panel1DblClick(Sender: TObject);

    procedure Edit4KeyPress(Sender: TObject; var Key: Char);

    procedure Edit6KeyPress(Sender: TObject; var Key: Char);

    procedure Edit5KeyPress(Sender: TObject; var Key: Char);

    procedure Edit1MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure Edit2MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure BitBtn2MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure Edit3MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure Edit6MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure ComboBox4DropDown(Sender: TObject);

    procedure ComboBox3DropDown(Sender: TObject);

    procedure BitBtn4MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure ToolButton1Click(Sender: TObject);

    procedure ToolButton2Click(Sender: TObject);

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

 private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form2: TForm2;

implementation

{$R *.dfm}

uses Unit1;

procedure TForm2.BitBtn2Click(Sender: TObject);

 var

 str: TMemoryStream;

 size: integer;

 begin

  uniquery2.sql.text:='update nomenklatura set naimeninovanie=:naimeninovanie where id=:id';

  uniquery2.ParamByName('id').AsInteger:=uniquery1.FieldByName('link_nomenklatura').AsInteger;

  uniquery2.ParamByName('naimeninovanie').AsString:=edit1.Text;

  uniquery2.Execute;

  uniquery2.SQL.Text:='update nomenklatura set ed_izmer_id=(select id from ed_izmertab where    ed_izmer=:ed_izmer) where id=:id';

  uniquery2.ParamByName('id').AsInteger:=uniquery1.FieldByName('link_nomenklatura').AsInteger;

  uniquery2.ParamByName('ed_izmer').AsString:=combobox2.Text;

  uniquery2.Execute;

  uniquery2.SQL.Text:='update nomenklatura set vid_id=(select id from vid_tab where vid=:vid) where id=:id';

  uniquery2.ParamByName('id').AsInteger:=uniquery1.FieldByName('link_nomenklatura').AsInteger;

  uniquery2.ParamByName('vid').AsString:=combobox1.Text;

  uniquery2.Execute;

  uniquery2.sql.text:='update nomenklatura set opisanie=:opisanie where id=:id';

  uniquery2.ParamByName('id').AsInteger:=uniquery1.FieldByName('link_nomenklatura').AsInteger;

  uniquery2.ParamByName('opisanie').AsString:=edit2.Text;

  uniquery2.Execute;

  if assigned(image2.Picture.Graphic) then

     ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

  begin

   str := TMemoryStream.Create;

   image2.Picture.Graphic.SaveToStream(str);

   size := str.Size;

   str.Seek(0,0);

   uniquery2.SQL.Text:='update nomenklatura set photo=:photo where id=:id';

   uniquery2.ParamByName('id').AsInteger:=uniquery1.FieldByName('id').AsInteger;

   uniquery2.ParamByName('photo').LoadFromStream(str, ftBlob);

   uniquery2.Execute;

   str.Free;

  end;

  uniquery1.Refresh;

 end;

procedure TForm2.BitBtn2MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn1.Visible:=false;

bitbtn3.Visible:=false;

edit1.Width:=427;

edit2.Width:=427;

end;

procedure TForm2.BitBtn4Click(Sender: TObject);

var id:integer;

begin

uniquery2.SQL.Text:='INSERT INTO nomenklatura (naimeninovanie, ed_izmer_id, vid_id, opisanie)';

 uniquery2.SQL.Add('VALUES (:naimeninovanie, (SELECT id FROM ed_izmertab WHERE ed_izmer=:ed_izmer), ');

 uniQuery2.SQL.Add('(SELECT id FROM vid_tab WHERE vid=:vid), :opisanie) returning id;');

 uniquery2.ParamByName('naimeninovanie').AsString:=edit3.Text;

 uniquery2.ParamByName('opisanie').AsString:=edit6.text;

 uniquery2.ParamByName('ed_izmer').AsString:=ComboBox3.Text;

 uniquery2.ParamByName('vid').AsString:=ComboBox4.Text;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

uniquery2.Execute;

 id:=uniquery2.FieldByName('id').AsInteger;

uniquery2.SQL.Text:='INSERT INTO postavki (link_nomenklatura) VALUES(:id)';

 uniquery2.ParamByName('id').AsInteger:=id;

uniquery2.Execute;

uniquery1.Refresh;

edit3.Clear;

edit6.Clear;

combobox3.ItemIndex:=-1;

combobox4.ItemIndex:=-1;

end;

procedure TForm2.BitBtn4MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn5.Visible:=false;

bitbtn6.Visible:=false;

edit3.Width:=427;

edit6.Width:=427;

end;

procedure TForm2.ComboBox1DropDown(Sender: TObject);

 var st: string;

 begin

 st:=combobox1.Text;

combobox1.Items.BeginUpdate;

combobox1.Items.Clear;

uniquery2.SQL.Text:='select vid from vid_tab order by vid;';

uniquery2.Execute;

 while not uniquery2.Eof do

  begin

   combobox1.Items.Add(uniquery2.FieldByName('vid').AsString);

   uniquery2.Next;

  end;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

 combobox1.Items.EndUpdate;

combobox1.ItemIndex:=combobox1.Items.IndexOf(st);

bitbtn1.Visible:=false;

bitbtn3.Visible:=false;

edit1.Width:=427;

edit2.Width:=427;

end;

procedure TForm2.ComboBox2DropDown(Sender: TObject);

 var st: string;

 begin

 st:=combobox2.Text;

combobox2.Items.BeginUpdate;

combobox2.Items.Clear;

uniquery2.SQL.Text:='select ed_izmer from ed_izmertab order by ed_izmer;';

uniquery2.Execute;

 while not uniquery2.Eof do

  begin

   combobox2.Items.Add(uniquery2.FieldByName('ed_izmer').AsString);

   uniquery2.Next;

  end;

combobox2.Items.EndUpdate;

combobox2.ItemIndex:= combobox2.Items.IndexOf(st);

bitbtn1.Visible:=false;

bitbtn3.Visible:=false;

edit1.Width:=427;

edit2.Width:=427;

end;

procedure TForm2.ComboBox3DropDown(Sender: TObject);

var st: string;

begin

 st:=combobox3.Text;

bitbtn5.Visible:=false;

bitbtn6.Visible:=false;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

 edit3.Width:=427;

 edit6.Width:=427;

 combobox3.ItemIndex:= combobox3.Items.IndexOf(st);

end;

procedure TForm2.ComboBox4DropDown(Sender: TObject);

var st: string;

begin

bitbtn5.Visible:=false;

bitbtn6.Visible:=false;

 st:=combobox4.Text;

edit3.Width:=427;

edit6.Width:=427;

combobox4.ItemIndex:= combobox4.Items.IndexOf(st);

end;

procedure TForm2.Edit1MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

edit1.Width:=380;

edit2.Width:=427;

bitbtn1.Visible:=true;

bitbtn3.Visible:=false;

end;

procedure TForm2.Edit2MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

edit1.Width:=427;

edit2.Width:=380;

bitbtn3.Visible:=true;

bitbtn1.Visible:=false;

end;

procedure TForm2.Edit3MouseActivate(Sender: TObject; Button: TMouseButton;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1 

Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn5.Visible:=true;

bitbtn6.Visible:=false;

edit3.Width:=380;

edit6.Width:=427;

end;

procedure TForm2.Edit4KeyPress(Sender: TObject; var Key: Char);

begin

 if Key in ['0'..'9',','..'.']+[#8] then else key:=#0;

Информация о работе Модуль учета поставок компьютеров, оргтехнике и комплектующих