Данных для системы электронного
Download 207.4 Kb.
|
1 2
Bog'liqКонцепция базы данных для системы электронного документооборота в Oracle Database
CURSOR max_punkt IS
select max (COD_PUNKTA_MARCHR) as ma from PUNKT_MARCHRUTA where COD_TIPA_DOCUMENTA=cod_tip_doc; c_max_punkt max_punkt%rowtype; Определение последней даты работы с документом путем сортировки документов по дате получения: CURSOR histor_date IS select max(DATA_VREMYA_OTPRAV) as maxy from HISTORY WHERE COD_DOCUMENTA=cod_doc order by DATA_VREMYA_OTPRAV desc, DATE_VREMYA_POLUCH desc; c_histor_date histor_date%rowtype; Определение маршрута документа в соответствии с его типом: cod_dolg:=c_punkt.COD_DOLZGNOST; for c_sotr in sotr loop cod_sotr:=c_sotr.COD_SOTRUDNIKA; Выбор наименее загруженного сотрудника: for c_histor in histor loop if(kolich_doc >= c_histor.kolich) then sotr_dlya_otpr:=c_sotr.COD_SOTRUDNIKA; kolich_doc:=c_histor.kolich; Формирование записи в истории: if(((c_punkt.VREMYA_NA_VIPOLN)+data1) <= SYSDATE) Рис. 3. Результат работы процедуры insert into HISTORY (COD_HISTORY, COD_PUNKTA_MARCHR, DATE_VREMYA_POLUCH, COD_SOTRUDNIKA, COD_DOCUMENTA, DATA_VREMYA_OTPRAV) VALUES (k, c_punkt.COD_PUNKTA_MARCHR, data1, sotr_dlya_otpr, c_docum.COD_DOCUMENTA, (data1+c_ punkt.VREMYA_NA_VIPOLN)); data1:=data1+c_punkt.VREMYA_NA_VIPOLN; k:=k+1; kolich_doc:=1000; max_punkt_save:=c_punkt.COD_PUNKTA_MARCHR; else bool:=true; kolich_doc:=1000; insert into HISTORY (COD_HISTORY, COD_PUNKTA_MARCHR, DATE_VREMYA_POLUCH, COD_SOTRUDNIKA, COD_DOCUMENTA) VALUES (k, c_punkt.COD_PUNKTA_MARCHR, data1, sotr_dlya_otpr, c_docum.COD_DOCUMENTA); k:=k+1; Процедура распределения документов проводит следующие действия с документом. После появления документа в системе прокладывается ветка маршрута для этого документа, начиная с первого этапа, программа анализирует со- трудников, которые нужны на данном этапе, и тот, у кого на руках меньше всего документов получает этот документ. По истечении времени выполнения этапа, программа формирует следующую ветку маршрута, и так до конца маршрута. По окончании маршрута, меняет статус документа на «Завершен». В результат работы процедуры, формируется таблица, которая отражает основные пункты маршрутов и документы, поступающие или выбывающие из этих маршрутов, ре- зультат работы процедуры представлен (рис. 3). Литература: Алапати Сэм Р. Oracle Database 11g. Руководство администратора баз данных — М: Apress, 2010.— 1440 с. Прижляковский В. В. Введение в Oracle SQL — М.: Интуит, 2016.— 358 с. Download 207.4 Kb. Do'stlaringiz bilan baham: |
1 2
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling