Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив / Denisov_S_I_UAI-511_Diplom_Versia_FINAL_NAYa.doc
Скачиваний:
78
Добавлен:
09.06.2015
Размер:
8.36 Mб
Скачать

Представители в договоре (Get_List_Representatives_By_id_Contract)

Select r.d_start

,r.d_end

,ts_.Get_Org_Name(o.id_organization, r.d_start)

,eh.full_fio

,p.Name

,r.power_of_attorney

,r.id_contract

,r.id_represented

,r.id_representative

,r.id_post

,r.id_paragraph

From representatives_ r

,post_ p

,employees_history_ eh

,contracts_ c

,organizations_ o

Where r.id_post = p.id_post

And r.id_contract = %p1[i]%

And r.id_contract = c.id_contract

And r.id_represented = o.id_contractor

And r.id_representative = eh.id_contractor

And r.d_start Between eh.d_start And nvl(eh.d_end, r.d_start)

Удаление договора (Delete_Contract)

Declare

id_p Number;

id_o Number;

Begin

Select c.id_paragraph

Into id_p

From Contracts_ c

Where c.id_contract = %p1[i]%;

Select p.id_order Into id_o From Paragraphs_ p Where p.id_paragraph = id_p;

Delete From specialities_contract_ sc Where sc.id_contract = %p1[i]%;

Delete From contract_sources_ cs Where cs.id_contract = %p1[i]%;

Delete From accounts_contract_ ac

Where ac.id_stage In

(Select st.id_stage From stages_ st Where st.id_contract = %p1[i]%);

Delete From stages_ s Where s.id_contract = %p1[i]%;

Delete From representatives_ r Where r.id_paragraph = id_p;

Delete From contracts_ c Where c.id_contract = %p1[i]%;

Update Students_ s Set s.id_order_contract = null Where s.id_order_contract = id_p;

Delete From paragraphs_ p Where p.id_paragraph = id_p;

Delete From orders_ o Where o.id_order = id_o;

End;

Прошедшее обучение (Get_Stat_Data_By_Period)

Select res.d_name

,res.spec_name

,res.fio

,res.sg_name

,res.d_start

,res.d_end

,res.o_start

,(Select Max(os.d_end)

From orders_students_ os

,paragraphs_status_ ps

Where os.id_student = res.id_student

And os.id_paragraph = ps.id_paragraph

And ps.idk_order In (207)

And ps.Status_order <> 3) o_end

,res.o_contract

,res.org

,(Select Sum(sa.money)

From stages_ st

,accounts_contract_ ac

,paragraphs_ p

,salary_account_ sa

,spent_ s

Where st.id_contract = res.id_contract

And st.id_stage = ac.id_stage

And ac.id_paragraph = p.id_paragraph

And p.idk_order In (436, 444)

And ac.id_basis_sal = sa.id_basis_sal_charge

And sa.id_salary_account = s.id_salary_account) Sum

,(Select Sum(sa.money)

From stages_ st

,accounts_contract_ ac

,paragraphs_ p

,salary_account_ sa

,spent_ s

Where st.id_contract = res.id_contract

And st.id_stage = ac.id_stage

And ac.id_paragraph = p.id_paragraph

And p.idk_order In (436, 444)

And ac.id_basis_sal = sa.id_basis_sal_charge

And sa.id_charge = 40811

And sa.id_salary_account = s.id_salary_account) sum_nds

,res.cert_num

,res.heard_hours

,m.hours

,null -- Last_Date

,null -- Contract_Main

,null -- Org_Main

,res.id_e

,res.id_contractor

,res.id_student

,res.id_ed_group

From (Select sc.Name spec_name

,e.surname || ' ' || e.Name || ' ' || e.patronymic || ', ' ||

e.date_of_birth fio

,sg.Name sg_name

,ad.abbreviation d_name

,st.d_start

,doc.series ||

Decode(doc.series

,''

,''

,Decode(doc.identifier, '', '', ' ')) ||

doc.identifier cert_num

,cr.heard_hours

,st.id_e

,e.id_contractor

,st.id_student

,st.id_ed_group

,ps.Status_Text o_start

,(Select Max(os.d_end)

From orders_students_ os

,paragraphs_status_ ps

Where os.id_student = st.id_student

And os.id_paragraph = ps.id_paragraph

And ps.idk_order In (207)

And ps.Status_order <> 3) d_end

,psc.Status_Text o_contract

,c.d_end contract_end

,c.id_contract

,sd.id_speciality

,Decode(c.id_contract

,''

,''

,(Select ts_.Get_Org_Name(o.id_organization, r.d_start)

From representatives_ r

,organizations_ o

Where r.id_contract = c.id_contract

And st.d_start Between r.d_start And

nvl(r.d_end, st.d_start)

And r.id_representative = o.id_contractor)) org

From(

-- всё, если необычный пользователь

Select

dL.id_d

From division_ dL

Wherebs_.isUnusual> 0

UnionAll

-- по ролям, если обычный пользователь

Select dL.id_d

From division_ dL

Where bs_.isUnusual = 0

And dL.id_metaterm In

(Select r.id_metaterm

From Table(access_data_.Get_Roles('1403', 1)) r)

UnionAll

-- по ролям, если обычный пользователь

Select dL.id_d

From division_ dL

Where bs_.isUnusual = 0

And Exists

(Select r.id_metaterm

From Table(access_data_.Get_Roles('1403', 1)) r

Where r.id_metaterm Is Null)) d

,students_ st

,paragraphs_status_ ps

,educational_group_ sg

,specialities_division_ sd

,speciality_ sc

,employees_ e

,contracts_ c

,paragraphs_status_ psc

,magazine_registr_diplomas_ m

,certificate_ cr

,documents_ doc

,attributes_divisions_ ad

Where st.d_start <= nvl(%p2[d]%, st.d_start)

And st.id_ed_group = sg.id_ed_group

And st.id_e = e.id_e

And sg.id_d_specialitie = sd.id_d_specialitie

And sd.id_speciality = sc.id_speciality

And sc.idk_level_speciality = 70 -- ПК

And st.id_student = m.id_student(+)

And m.id_certificate = cr.id_certificate(+)

And cr.id_doc = doc.id_doc(+)

And sd.id_d_institute = d.id_d

And d.id_d = ad.id_d

And st.d_start between ad.d_start and nvl(ad.d_end, st.d_start)

And st.id_order_start = ps.id_paragraph

And st.id_order_contract = c.id_paragraph(+)

And c.id_paragraph = psc.id_paragraph(+)) res

-- плановые часы из методических комплексов

,(Selectd.id_speciality

,Sum(e.hours) hours

From methodical_complex_ m

,disciplines_ d

,educational_load_umk_ e

Where m.id_discipline = d.id_discipline

And m.id_methodical_complex = e.id_methodical_complex

Group By d.id_speciality) m

Where (res.d_start <= %p2[d]% Or %p2[d]% Is Null)

And (res.d_end >= %p1[d]% Or res.d_end Is Null Or %p1[d]% Is Null)

And res.id_speciality = m.id_speciality(+)

Соседние файлы в папке Архив