Информационная система поставок для промышленных предприятий

Автор: Пользователь скрыл имя, 23 Декабря 2012 в 20:15, курсовая работа

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

Информация – сила нашего времени. Тот, кто владеет нужной информацией, всегда выигрывает. На всех этапах развития человечества стояла задача обработки, накопления и распространения информации. В течение тысячелетий основным инструментом для её решения были мозг, слух, и язык человека. Первое кардинальное изменение произошло с приходом письменности, а затем изобретением книгопечатания.

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

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

— 846.00 Кб (Скачать)



 

CREATE TRIGGER INS_PRG ON Postreg INSTEAD OF INSERT

ASDECLARE @mid_pos INT, @ndogn INT, @nidr INT

SELECT @mid_pos=MAX(id_pos) FROM Postreg

SELECT @ndogn=INS.dogn, @nidr=INS.idr FROM INSERTED INS

IF EXISTS (SELECT * FROM Postreg)

 

INSERT INTO Postreg VALUES (@mid_pos+1, @ndogn, @nidr)

ELSE INSERT INTO Postreg VALUES (1, @ndogn, @nidr)

 

Таблица 13 – Prod – Информация о производимой продукции

Наименование

поля

Тип

данных

Нулевой статус

Ключ

Ограничение

Ссылки

Пример

kprod

int

Not Null

Primary

   

1

nprod

nvarchar

Not Null

 

20

 

Шкаф «Визит»




 

CREATE TRIGGER INS_PR ON Prod INSTEAD OF INSERT

AS DECLARE @mkprod INT, @nnprod NVARCHAR(20)

SELECT @mkprod=MAX(kprod) FROM Prod

SELECT @nnprod=INS.nprod

FROM INSERTED INS

IF EXISTS (SELECT * FROM Prod)

INSERT INTO Prod VALUES (@mkprod+1, @nnprod)

ELSE INSERT INTO Prod VALUES (1, @nnprod)

 

Таблица 14 – Prodmat – Комплектующие и материалы используемые в производстве

Наименование

поля

Тип

данных

Нулевой статус

Ключ

Ограничение

Ссылки

Пример

id_prod

int

Not Null

Primary

   

1

kprod

int

Not Null

Foreign

 

Prod.kprod

1

mnum

int

Not Null

Foreign

 

Matkom.mnum

1

kolv

int

Not Null

     

100




 

CREATE TRIGGER INS_PM ON Prodmat INSTEAD OF INSERT

AS DECLARE @mid_prod INT, @nkprod INT, @nmnum INT, @nkolv INT

SELECT @mid_prod=MAX(id_prod) FROM Prodmat

SELECT @nkprod=INS.kprod, @nmnum=INS.mnum,

@nkolv=INS.kolv FROM INSERTED INS

IF EXISTS (SELECT * FROM Prodmat)

 

INSERT INTO Prodmat VALUES (@mid_prod+1, @nkprod, @nmnum, @nkolv)

ELSE  INSERT INTO Prodmat VALUES (1, @nkprod, @nmnum, @nkolv)

 

Таблица 15 – Proiz – Производства продукции

Наименование

поля

Тип

данных

Нулевой статус

Ключ

Ограничение

Ссылки

Пример

kprod

int

Not Null

Primary

   

1

pdate

smalldatetime

Not Null

     

02.12.2012




 

CREATE TRIGGER INS_PROIZ ON Proiz INSTEAD OF INSERT

AS DECLARE @mkproiz INT, @npdate SMALLDATETIME

SELECT @mkproiz=MAX(kproiz) FROM Proiz

SELECT @npdate=INS.pdate FROM INSERTED INS

IF EXISTS (SELECT * FROM Proiz)

INSERT INTO Proiz VALUES (@mkproiz+1, @npdate)

ELSE INSERT INTO Proiz VALUES (1, @npdate)

 

Таблица 16 – Proizprod – Произведенная  продукция

Наименование

поля

Тип

данных

Нулевой статус

Ключ

Ограничение

Ссылки

Пример

id_proiz

int

Not Null

Primary

   

1

kproiz

int

Not Null

Foreign

 

Proiz.kproiz

1

kprod

int

Not Null

Foreign

 

Prod.kprod

1

kolvo

int

Not Null

     

05.12.2012




 

CREATE TRIGGER INS_PRPD ON Proizprod INSTEAD OF INSERT

AS DECLARE @mid_pz INT, @nkproiz INT, @nkprod INT, @nkolvo INT

SELECT @mid_pz=MAX(id_pz) FROM Proizprod

SELECT @nkproiz=INS.kproiz, @nkprod=INS.kprod,

@nkolvo=INS.kolvo FROM INSERTED INS

IF EXISTS (SELECT * FROM Proizprod)

INSERT INTO Proizprod VALUES (@mid_pz+1, @nkproiz, @nkprod, @nkolvo)

ELSE INSERT INTO Proizprod VALUES (1, @nkproiz, @nkprod, @nkolvo)

 

Таблица 17 – Proizprod – Произведенная продукция

Наименование

поля

Тип

данных

Нулевой статус

Ключ

Ограничение

Ссылки

Пример

idr

int

Not Null

Primary

   

1

region

nvarchar

Not Null

 

20

 

Кировская область




 

CREATE TRIGGER INS_R ON Region INSTEAD OF INSERT

AS DECLARE @midr INT, @nregion NVARCHAR(20)

SELECT @midr=MAX(idr) FROM Region

SELECT @nregion=INS.region

FROM INSERTED INS

IF EXISTS (SELECT * FROM Region)

INSERT INTO Region VALUES (@midr+1, @nregion)

ELSE INSERT INTO Region VALUES (1, @nregion)

 

Таблица 18 – Sklad – Комплектующие и материалы на складе

Наименование

поля

Тип

данных

Нулевой статус

Ключ

Ограничение

Ссылки

Пример

id_s

int

Not Null

Primary

   

1

mnum

int

Not Null

Foreign

 

Matkom.mnum

1

kolvo

int

Not Null

     

100




 

CREATE TRIGGER INS_S ON Sklad INSTEAD OF INSERT 

AS DECLARE @mid_s INT, @nmnum INT, @nkolvo INT

SELECT @mid_s=MAX(id_s) FROM Sklad

SELECT @nmnum=INS.mnum, @nkolvo=INS.kolvo FROM INSERTED INS

IF EXISTS (SELECT * FROM Sklad)

INSERT INTO Sklad VALUES (@mid_s+1, @nmnum, @nkolvo)

ELSE INSERT INTO Sklad VALUES (1, @nmnum, @nkolvo)

 

Таблица 19 – Zakaz – Информация о заказах

Наименование

поля

Тип

данных

Нулевой статус

Ключ

Ограничение

Ссылки

Пример

znum

int

Not Null

Primary

   

1

pnum

int

Not Null

Foreign

 

Postavsik.pnum

1

post

int

Not Null

Foreign

 

Postavsik2.post

1

zdat

smalldatetime

Not Null

     

01.12.2012




 

CREATE TRIGGER INS_Z ON Zakaz INSTEAD OF INSERT

AS DECLARE @mznum INT, @npnum INT, @npost INT, @nzdat SMALLDATETIME

SELECT @mznum=MAX(znum) FROM Zakaz

SELECT @npnum=INS.pnum, @npost=INS.post, @nzdat=INS.zdat

FROM INSERTED INS

IF EXISTS (SELECT * FROM Zakaz)

INSERT INTO Zakaz VALUES (@mznum+1, @npnum, @npost, @nzdat)

ELSE INSERT INTO Zakaz VALUES (1, @npnum, @npost, @nzdat)

 

Таблица 20 – Zakkom – Информация о заказанных материалах и комплектующих

Наименование

поля

Тип

данных

Нулевой статус

Ключ

 Ограничение

Ссылки

Пример

id_z

int

Not Null

Primary

   

1

znum

int

Not Null

Foreign

 

Zakaz.znum

1

mnum

int

Not Null

Foreign

 

Matkom.mnum

1

kol

int

Not Null

     

100




 

CREATE TRIGGER INS_ZK ON Zakkom INSTEAD OF INSERT

AS DECLARE @mid_z INT, @nznum INT, @nmnum INT, @nkol INT

SELECT @mid_z=MAX(id_z) FROM Zakkom

SELECT  @nznum=INS.znum, @nmnum=INS.mnum, @nkol=INS.kol FROM INSERTED INS

IF EXISTS (SELECT * FROM Zakkom)

INSERT INTO Zakkom VALUES (@mid_z+1, @nznum, @nmnum, @nkol)

ELSE INSERT INTO Zakkom VALUES (1, @nznum, @nmnum, @nkol)

 

Запуск программы осуществляется с помощью файла Postavki.exe. После этого появляется окно аутентификации (рисунок 3), где будет предложено выбрать сотрудника и ввести пароль.

Рисунок 3 – Окно аутентификации

После нажатия на кнопку «Вход» если выбран сотрудник «Менеджер  по договорам» откроется окно с двумя  вкладками «Предприятия»  и «Поставщики» (рисунок 4). На первой вкладке можно управлять поставщиками: добавлять, изменять, удалять.  При необходимости можно выполнить поиск по названию фирмы производителя, адресу, или телефону, также можно сбросить поиск кнопкой «Сброс».

 

 

Рисунок 4 – Окно менеджера по договорам

 

При нажатии на кнопку «Добавить» откроется форма добавления предприятия (рисунок 5). На ней находятся поля для ввода данных о предприятии, выпадающий список со списком регионов, кнопка «+», при нажатии на которую откроется форма управления регионами (рисунок 6), кнопка «Добавить», при нажатии на которую предприятие добавится в базу данных.

Рисунок 5 – Окно добавления предприятия

 

Рисунок 6 – Окно управления регионами

 

 На форме управления регионами (рисунок 6) представлен список регионов, имеется поле для ввода  наименования региона, кнопки «Добавить», «Изменить» и «Удалить» для добавления, изменения и удаления регионов соответственно.

На вкладке управления предприятиями (рисунок 4) имеется еще  две кнопки «Изменить», «Удалить»  и «Договоры». При нажатии на кнопку «Изменить» откроется окно изменения предприятия, аналогичное окну добавления предприятия (рисунок 5). Кнопка «Удалить» служит для удаления выбранного предприятия. При нажатии на кнопку договоры откроется окно управления договорами предприятия (рисунок 7). В этом окне присутствует список договоров, заключенных с предприятием, список поставляемых материалов и комплектующих изделий по договору. В этом окне присутствуют 4 кнопки «Добавить», «Изменить», «Удалить» и «Отобрать истекшие». При нажатии на кнопку «Добавить» откроется окно добавления нового договора (рисунок 8), при нажатии на кнопку «Изменить» откроется окно изменения договора, аналогичное окну добавления договора. Кнопка «Удалить» служит для удаления выбранного договора. При нажатии на кнопку «Отобрать истекшие» отобразится список договоров, список которых истек, при отжатии этой кнопки отобразится полный список договоров с предприятием.

Рисунок 7 – Окно управления договорами предприятия

 

 

 

 

 

Рисунок 8 – Окно добавления договора с предприятием

На форме добавления договора с предприятием (рисунок 8) присутствуют поля для ввода дат начала и окончания действия договора, список поставляемых материалов и комплектующих изделий, выпадающий список материалов и комплектующих изделий, кнопка «+» для добавления комплектующего или материала в список поставляемых материалов и комплектующих изделий и кнопка «-», для удаления из списка выбранного материала или комплектующего изделия. Если необходимого материала или комплектующего нет в выпадающем списке, необходимо нажать на кнопку новый, тогда откроется окно управления материалами и комплектующими (рисунок 9). При нажатии на кнопку «Добавить» договор добавится в базу данных.

Рисунок 9 – Окно управления материалами и комплектующими изделиями

В окне управления материалами  и комплектующими изделиями (рисунок 9) присутствует список материалов и комплектующих изделий,  поле для поиска необходимого материала или комплектующего изделия,  поле для ввода наименования комплектующего или материала, служащее для добавления или изменения материала или комплектующего изделия и кнопки управления «Добавить», «Изменить» и «Удалить».

Вкладка «Поставщики» главного окна менеджера по договорам (рисунок 4) аналогична вкладке «Предприятия», все окна управления списком поставщиков и договоров с поставщиками аналогичны окнам управления списком предприятий и договоров с предприятиями. Так же в главном окне присутствуют кнопки «Меню», «О программе и «Справка» (рисунок 10). При нажатии на кнопку «О программе» откроется окно с информацией о разработчике приложения (рисунок 11), при нажатии на кнопку «Справка», откроется справка (рисунок 12). Кнопка меню открывает выпадающий список с двумя пунктами «Сменить пользователя» и «Выход». При нажатии на первый закроется окно менеджера по договорам и откроется окно аутентификации, при нажатии на кнопку «Выход» приложение закроется.

Рисунок 10 – Выпадающее меню

Рисунок 11 – Окно «О программе»

Рисунок 11 – Окно справки

Перейдем на форму  аутентификации с помощью выпадающего  пункта меню «Сменить пользователя» (рисунок 10) и зайдем под сотрудником «Менеджер по поставкам». Откроется главное окно менеджера по поставкам (рисунок 12).

Рисунок 12 – Окно менеджера  по поставкам

Окно менеджера по поставкам (рисунок 12) содержит четыре вкладки: «Поставки», «Заказы», «Склад», «Отпуск». Вкладка  «Поставки» служит списки поставок и  поставленных материалов и комплектующих изделий, поля для поиска нужной поставки, кнопки добавления, изменения и удаления, кнопку «Очистить журнал», которая служит для очистки журнала поставок, кнопку статистика, которая открывает окно статистики (рисунок 13). Так же на данной вкладке имеется панель для вывода отчета о поставках, для этого нужно ввести определенный промежуток времени по которому будет составляться отчет и нажать на кнопку «Отчет», при этом откроется внешний документ «Отчет о поставках» (рисунок 14). Кнопки «Добавить» и «Изменить» открывают окна добавления и изменения поставок соответственно, они аналогичны окнам добавления и изменения договоров предприятий и поставщиков (рисунок 8), отличаются от них лишь  присутствием выпадающих списков предприятий и поставщиков и отсутствием кнопки «Новый».

Информация о работе Информационная система поставок для промышленных предприятий