Контроль конструкторско-технологической подготовки производства

Автор работы: Пользователь скрыл имя, 24 Ноября 2013 в 00:14, курсовая работа

Краткое описание

Конструкторсько-технологічна підготовка виробництва є одним з найбільш важливих аспектів роботи будь-якого машинобудівного підприємства. Від її планування залежить найбільш раціональне використання виробничих, а значить і ефективність його роботи та можливість конкурування з іншими підприємствами галузі. На цій стадії закладаються етапи виготовлення машин і механізмів, а також строки їх реалізації.

Прикрепленные файлы: 1 файл

Бази даних (К.Р.).doc

— 440.00 Кб (Скачать документ)

12. Цех виробник.

 

Після групування даних в окремі таблиці та виключення дублюючих отримуємо такі таблиці основні таблиці бази даних: “Інформація про виріб”, “Відомості про ТП” та “Інформація про розробника”.

 

Інформація про виріб:

1. Шифр;

2. Назва;

3. Тип виробу (деталь, складальна одиниця);

4. Шифр механізму до  якого входить;

6. Щорічний випуск;

7. Кількість;

8. Розробник креслення;

9. Шифр технологічного  процесу.

 

Відомості про ТП:

1. Шифр креслення;

2. Назва;

3. Шифр ТП;

4. Розробник ТП.

5. Тип виробу (деталь, складальна одиниця);

6. Габарити;

7. Вага;

8. Вид заготовки (прокат  круглий, квадратний, листовий, відливка, штамповка);

9. Матеріал;

10. Дата початку виготовлення;

11. Дата завершення  виготовлення;

12. Цех виробник.

 

Інформація про розробника (креслення чи ТП):

1. Ф.І.П;

2. Посада;

3. Категорія;

4. Відділ;

5. Домашня адреса;

6. Телефон;

7. Початок робочого  дня;

8. Кінець робочого  дня;

9. Дата початку відпустки;

10. Дата завершення  відпустки.

 

Для даних: посада, категорія, відділ і телефон, цех виробник та тип виробу і вид заготовки доцільно створити  окремі таблиці.

Отже база даних буде складатися з 10 таблиці, три з яких є основними, а інші допоміжні.

 

2.2 Проектування  структури окремих таблиць

 

Тепер для даних, що будуть міститися в таблицях БД потрібно призначити типи даних, їх довжину, дати короткі й зрозумілі назви таблиць та стовбців, що в них містяться.

 

Таблиця Izdelie:

1. Shifr – A15 (ключ);

2. Name – A15;

3. Type – I;

4. Predok – A15;

5. Vipusk – I;

6. Col – I;

7. Emploer – I;

8. TP – A15.

 

Таблиця TP:

1. TP – A15 (ключ);

2. Name  A15;

3. Emploer – I;

4. Gabarit – A7;

5. Mass – I;

6. Zagotovka – I;

7. Material – I;

8. Start_Izgot – D;

9. End_Izgot – D;

10. Ceh – I.

 

Таблиця Emploer:

1. ID_Emploer - личильник (ключ);

2. FIO – A25;

3. Dlzn – I;

4. Kategory – I;

5. Otdel – I;

6. Adress – A20;

7. Work_Tel – A14;

8. Start_Day – T;

9. End_Day - T;

10. Start_Otpusk – D;

11. End_Otpusk – D.

 

Таблиця  Ceh:

1. ID_Ceh – личильник (ключ);

2. Number – S.

 

Таблиця  Dolzn:

1. ID_Dolzn – личильник (ключ);

2. Name – A11.

 

Таблиця  Kategory:

1. ID_Kategory – личильник (ключ);

2. Name – A3.

Таблиця Otdel:

1. ID_Otdel – личильник (ключ);

2. Name – A12.

 

Таблиця Material:

1. ID_Material – личильник (ключ);

2. Name – A12.

 

Таблиця Type_Izdelia:

1. ID_Type – личильник (ключ);

2. Type – A3.

 

Таблиця Zagotovka:

1. ID_Zagotovka – личильник (ключ);

2. Name – A15.

 

Таблиці Izdelie та TP зв’язані між собою по полям TP. Таблиці Izdelie та Emploer – полями Emploer та ID_Emploer, а поле Type використовується для зв’язку з таблицею Type_Izdelia за її ключовим полем за допомогою властивості LookUp компоненту TTable середовища Delphi.

Таблиці TP та Emploer зв’язані між собою по полям Emploer та ID_Emploer, поля Zagotovka, Material та Ceh служать для організації зв’язку з таблицями Zagotovka, Material та Ceh за їх ключовими полями методом LookUp.

В таблиці Emploer поля Dlzn, Kategory та Otdel використовуються для зв’язку з таблицями Dolzn, Kategory та Otdel за їх ключовими полями методом LookUp.

На рисунку 2.1 схематично зображений зв'язок таблиць.

 

Рисунок 2.1 – Зв'язок таблиць

 

3 Розробка  основних модулів програми та  графічного інтерфейсу

 

При розробці програми в  середовищі Delphi був організований зв'язок таблиць та розроблений графічний інтерфейс, що складається з декількох вікон програми, що дають можливість користувачеві легко орієнтуватися в інформації, яку містить програма. Розглянемо головне вікно програми, що зображено на рисунку 3.1.

 

Рисунок 3.1 – Головне  вікно програми

 

При розробці головного  вікна програми були змінені властивості  деяких компонентів, їх перелік можна  знайти в таблиці 3.1.

 

Таблиця 3.1 – Властивості  компонентів

Назва компоненту

Властивість

Значення

DBG_Izdel

Align

alClient

DataSourse

DS_Izdelie

PopupMenu

PM

DBG_Izd_Emp

Align

alClient

DataSourse

DS_Emploer

dgGoEditing

False

DBG_TP

Align

alClient

DataSourse

DS_TP

dgGoEditing

False

DBG_TP_Empl

Align

alClient

DataSourse

DS_EMploer_TP

dgGoEditing

False


 

На рисунку 3.2 зображено  вікно Object TreeView з переліком усіх компонентів, що розташовані на формі.

 

Рисунок 3.2 – Вікно Object TreeView

 

Код модуля MainKTP головного  вікна програми наведений в листингу 3.1.

Листинг 3.1 – Код модуля MainKTP

 

unit MainKTP;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, ComCtrls,

  ToolWin, Menus;

type

  TCheckKTP = class(TForm)

    MMenu: TMainMenu;

    MFile: TMenuItem;

    MEdit: TMenuItem;

   MSpr: TMenuItem;

    MAbout: TMenuItem;

    N5: TMenuItem;

    MExit: TMenuItem;

    KTP_StBar: TStatusBar;

    PC_Izdel: TPageControl;

    DS_Izdelie: TDataSource;

    Izdelie: TTable;

    DS_TP: TDataSource;

    DS_Emploer: TDataSource;

    Emploer: TTable;

    Emploer_TP: TTable;

    DS_EMploer_TP: TDataSource;

    TP: TTable;

    Type_Izdel: TTable;

    IzdelieShifr: TStringField;

    IzdelieName: TStringField;

    IzdelieType: TIntegerField;

    IzdeliePredok: TStringField;

    IzdelieVipusk: TIntegerField;

    IzdelieCol: TIntegerField;

    IzdelieEmploer: TIntegerField;

    IzdelieTP: TStringField;

    IzdelieType_izdel: TStringField;

    EmploerID_Emploer: TAutoIncField;

    EmploerFIO: TStringField;

    EmploerDlzn: TIntegerField;

    EmploerKategory: TIntegerField;

    EmploerOtdel: TIntegerField;

    EmploerAdress: TStringField;

    EmploerWork_Tel: TStringField;

    EmploerStart_Day: TTimeField;

    EmploerEnd_Day: TTimeField;

    EmploerStart_Otpusk: TDateField;

    EmploerEnd_Otpusk: TDateField;

    Ceh: TTable;

    Dolzn: TTable;

    Kategory: TTable;

    Material: TTable;

    Otdel: TTable;

    EmploerDolz: TStringField;

    EmploerKateg: TStringField;

    EmploerOtd: TStringField;

    TPTP: TStringField;

    TPName: TStringField;

    TPEmploer: TIntegerField;

    TPGabarit: TStringField;

    TPMass: TIntegerField;

    TPZagotovka: TIntegerField;

    TPMaterial: TIntegerField;

    TPStart_Izgot: TDateField;

    TPEnd_Izgot: TDateField;

    TPCeh: TIntegerField;

    Zagotovka: TTable;

    TPZagot: TStringField;

    TPMater: TStringField;

    TPCeh_Name: TIntegerField;

    Emploer_TPID_Emploer: TAutoIncField;

    Emploer_TPDlzn: TIntegerField;

    Emploer_TPKategory: TIntegerField;

    Emploer_TPOtdel: TIntegerField;

    Emploer_TPAdress: TStringField;

    Emploer_TPWork_Tel: TStringField;

    Emploer_TPStart_Day: TTimeField;

    Emploer_TPEnd_Day: TTimeField;

    Emploer_TPStart_Otpusk: TDateField;

    Emploer_TPEnd_Otpusk: TDateField;

    Emploer_TPFIO: TStringField;

    PC_TP: TPageControl;

    TS_TP: TTabSheet;

    KTP_Split: TSplitter;

    DBG_TP: TDBGrid;

    TS_TP_Empl: TTabSheet;

    DBG_TP_Empl: TDBGrid;

    Emploer_TPDolz: TStringField;

    Emploer_TPKateg: TStringField;

    Emploer_TPOtd: TStringField;

    TS_Izd_Empl: TTabSheet;

    DBG_Izd_Empl: TDBGrid;

    TS_Izdel: TTabSheet;

    DBG_Izdel: TDBGrid;

    MTP: TMenuItem;

    MTSpisky: TMenuItem;

    Type_IzdelID_Type: TAutoIncField;

    Type_IzdelType2: TStringField;

    DolznID_Dolznost: TAutoIncField;

    DolznName: TStringField;

    KategoryID_Kategory: TAutoIncField;

    KategoryName: TStringField;

    MaterialID_Material: TAutoIncField;

    MaterialName: TStringField;

    OtdelID_Otdel: TAutoIncField;

    OtdelName: TStringField;

    ZagotovkaID_Zagot: TAutoIncField;

    ZagotovkaName: TStringField;

    CehID_Ceh: TAutoIncField;

    CehNumber: TSmallintField;

    PM: TPopupMenu;

    PMSerch: TMenuItem;

    PMNew: TMenuItem;

    PMApply: TMenuItem;

    PMDelete: TMenuItem;

    MTEmpl: TMenuItem;

    N1: TMenuItem;

    TblEmpl: TTable;

    TPEmp: TStringField;

    TblTP: TTable;

    TblTPTP: TStringField;

    TblTPName: TStringField;

    TblTPEmploer: TIntegerField;

    TblTPGabarit: TStringField;

    TblTPMass: TIntegerField;

    TblTPZagotovka: TIntegerField;

    TblTPMaterial: TIntegerField;

    TblTPStart_Izgot: TDateField;

    TblTPEnd_Izgot: TDateField;

    TblTPCeh: TIntegerField;

    TblTPZagot: TStringField;

    TblTPMater: TStringField;

    TblTPCeh_Name: TIntegerField;

    TblTPEmpl: TStringField;

    TblEmplID_Emploer: TAutoIncField;

    TblEmplFIO: TStringField;

    TblEmplDlzn: TIntegerField;

    TblEmplKategory: TIntegerField;

    TblEmplOtdel: TIntegerField;

    TblEmplAdress: TStringField;

    TblEmplWork_Tel: TStringField;

    TblEmplStart_Day: TTimeField;

    TblEmplEnd_Day: TTimeField;

    TblEmplStart_Otpusk: TDateField;

    TblEmplEnd_Otpusk: TDateField;

    TblEmplDolz: TStringField;

    TblEmplKateg: TStringField;

    TblEmplOtd: TStringField;

    IzdelieTP_Name: TStringField;

    IzdelieEmpl: TStringField;

    N3: TMenuItem;

    procedure MExitClick(Sender: TObject);

    procedure MAboutClick(Sender: TObject);

    procedure MTPClick(Sender: TObject);

    procedure MTSpiskyClick(Sender: TObject);

    procedure PMSerchClick(Sender: TObject);

    procedure PMDeleteClick(Sender: TObject);

    procedure PMNewClick(Sender: TObject);

    procedure PMApplyClick(Sender: TObject);

    procedure MTEmplClick(Sender: TObject);

    procedure FormShow(Sender: TObject);

  private

    { Private declarations }

    procedure Hint(Sender: TObject); // Подсказки

    procedure TablesOn;              // Відключити відображення даних в таблицях

    procedure TablesOff;             // Включити відображення даних в таблицях

  public

    { Public declarations }

  end;

var

  CheckKTP: TCheckKTP;

implementation

uses TP, Empl, AllEdit,Serch, AboutKTP;

{$R *.dfm}

 

// Включити відображення даних  в таблицях

procedure TCheckKTP.TablesOn;

begin

  Izdelie.Active := True;

  Emploer.Active := True;

  TP.Active := True;

  Emploer_TP.Active := True;

end;

 

// Відключити відображення даних  в таблицях

procedure TCheckKTP.TablesOff;

begin

  Izdelie.Active := False;

  Emploer.Active := False;

  TP.Active := False;

  Emploer_TP.Active := False;

end;

 

// Вихід з програми

procedure TCheckKTP.MExitClick(Sender: TObject);

begin

  Application.Terminate;

end;

 

// О програмі

procedure TCheckKTP.MAboutClick(Sender: TObject);

begin

  AboutBox.ShowModal;

end;

 

// Редагування списку ТП

procedure TCheckKTP.MTPClick(Sender: TObject);

begin

  TablesOff;

  TPFrm.ShowModal;

  TablesOn;

end;

 

// Редагування додаткових списків

procedure TCheckKTP.MTSpiskyClick(Sender: TObject);

begin

  TablesOff;

  FrmAllEdit.ShowModal;

  TablesOn;

end;

 

// Пошук в списки креслень

procedure TCheckKTP.PMSerchClick(Sender: TObject);

begin

  // Заповнити дані в пошуковій формі

  FrmSerch.CBSerch.Items.Clear;

Информация о работе Контроль конструкторско-технологической подготовки производства