Автоматизация технологии формирования документов об окончании университета в рамках АСУ МИИТа
Разработка приложения, автоматизирующего технологию формирования документов об окончании, для совершенствования организации работы учебных отделов, кафедр и отдела аттестации университета. Требования к разрабатываемому приложению, его архитектура.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 15.10.2013 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Editing:=true;
Params:=CreateVarAr(['']);
GUID_Select:=Get_session;
GUID_Update:=d_P_EDUCATIONAL_SESSION;
with Select_Columns do
Begin
add(tv_session_id_student,0);
add (tv_session_id_paragraph,1);
add(tv_session_ID_VOLUME_DISCIPLINE,2);
add(tv_session_ESTIMATION,3);
add(tv_session_ID_E,4);
add(tv_session_D_START,5);
add(tv_session_D_PASSING,7);
add(tv_session_ID_DISCIPLINE,9);
add(tv_session_IDK_LESSON,10);
add(tv_session_semester,11);
add(tv_session_ID_EDUCATIONAL_SESSION)
End;
With Insert_Columns do
Begin
add(tv_session_id_student,0);
add (tv_session_id_paragraph,1);
add(tv_session_ID_VOLUME_DISCIPLINE,2);
add(tv_session_ESTIMATION,3);
add(tv_session_ID_E,4);
add(tv_session_D_START,5);
add(tv_session_D_PASSING,7);
add(tv_session_ID_DISCIPLINE,9);
add(tv_session_IDK_LESSON,10);
add(tv_session_semester,11);
End;
With Key_Columns do
Begin
add(tv_session_ID_EDUCATIONAL_SESSION)
End;
end;
//////////////////////////таблица темы работ//////////////
with TSqlData_cxGridTableView.Create(tv_themes_only) do
Begin
Single:=false;
Editing:=true;
GUID_Select:=Get_theme;
GUID_Update:=d_P_THEMES_WORKS;
Params:=CreateVarAr(['']);
with Select_Columns do
Begin
add(tv_themes_only_id_theme,0);
add (tv_themes_only_id_paragraph,1);
add(tv_themes_only_id_student,2);
add(tv_themes_only_id_discipline,3);
add(tv_themes_only_idk_lesson,4);
add(tv_themes_only_d_start,5);
add(tv_themes_only_theme,6);
End;
With Insert_Columns do
Begin
//add(tv_themes_only_id_theme,0);
add (tv_themes_only_id_paragraph,1);
add(tv_themes_only_id_student,2);
add(tv_themes_only_id_discipline,3);
add(tv_themes_only_idk_lesson,4);
add(tv_themes_only_d_start,5);
add(tv_themes_only_theme,6);
End;
With Key_Columns do
Begin
add(tv_themes_only_id_theme,0);
End;
end;
//////////////////////////таблица руководство студентами//////////////
with TSqlData_cxGridTableView.Create(tv_ruk) do
Begin
Single:=false;
Editing:=true;
GUID_Select:=Get_ruk;
GUID_Update:=d_P_STUDENTS_MANUAL;
with Select_Columns do
Begin
add(tv_ruk_id_student,0);
add (tv_ruk_id_e,1);
add(tv_ruk_id_paragraph,2);
add(tv_ruk_idk_lesson,3);
add(tv_ruk_d_start,4);
add(tv_ruk_id_discipline,6);
End;
With Insert_Columns do
Begin
add(tv_ruk_id_student,0);
add (tv_ruk_id_e,1);
add(tv_ruk_id_paragraph,2);
add(tv_ruk_idk_lesson,3);
add(tv_ruk_d_start,4);
add(tv_ruk_id_discipline,6);
End;
With Key_Columns do
Begin
add(tv_ruk_id_student,0);
add (tv_ruk_id_e,1);
End;
end;
//////////////////////////содержимое приказа темы//////////////
with TSqlData_cxGridTableView.Create(tv_theme) do
Begin
Single:=false;
Editing:=true;
GUID_Select:=Get_theme_ruk;
Params:=CreateVarAr(['','']);
with Select_Columns do
Begin
add(tv_theme_id_theme);
add (tv_theme_d_start);
add(tv_theme_id_student);
add(tv_theme_id_paragraph);
add(tv_theme_fio_student);
add(tv_theme_group);
add(tv_theme_spec_name);
add(tv_theme_id_podr);
add(tv_theme_theme);
add(tv_theme_id_e);
add(tv_theme_fio_ruk);
add(tv_theme_post_staff);
End;
With Key_Columns do
Begin
add(tv_theme_id_theme);
End;
with PopupColumnsList.Add(tv_theme_fio_ruk) do
Begin
SelfKeyColumn:=tv_theme_id_e;
PopupKeyColumn:=tv_members_id_e;
PopupNameColumn:=tv_members_fio;
End;
popupactions.Add(delete3);
popupactions.Add(actionUpdate);
end;
////////////протоколы///////////////////////////////////
with TSqlData_cxGridTableView.Create(tv_protokol) do
Begin
Single:=false;
Editing:=true;
GUID_Select:=Get_protokol;
GUID_Update:=d_P_SESSION_REPORT;
Params:=CreateVarAr(['','']);
with Select_Columns do
Begin
add(tv_protokol_ID_SESSION_REPORT,1);
add(tv_protokol_id_comisiion,2);
add(tv_protokol_ID_EDUCATIONAL_SESSION,3);
add(tv_protokol_ID_PARAGRAPH,4);
add(tv_protokol_d_start,5);
add(tv_protokol_ID_WORK_THEMES,6);
add(tv_protokol_fio_stud);
add(tv_protokol_id_student);
add(tv_protokol_id_spec);
add(tv_protokol_spec_name);
add(tv_protokol_group);
add(tv_protokol_comission);
add(tv_protokol_theme);
add(tv_protokol_id_e);
add(tv_protokol_fio_ruk);
add(tv_protokol_post_staff);
add(tv_protokol_estimation);
End;
With Insert_Columns do
Begin
add(tv_protokol_id_comisiion,2);
add(tv_protokol_ID_EDUCATIONAL_SESSION,3);
add(tv_protokol_ID_PARAGRAPH,4);
add(tv_protokol_d_start,5);
add(tv_protokol_ID_WORK_THEMES,6);
End;
With Key_Columns do
Begin
add(tv_protokol_ID_SESSION_REPORT,1);
//add(tv_protokol_id_comisiion,2);
End;
with PopupColumnsList.Add(tv_protokol_comission) do
Begin
SelfKeyColumn:=tv_protokol_id_comisiion;
PopupKeyColumn:=tv_com_spec_id_commission;
PopupNameColumn:=tv_com_spec_abr ;
End;
PopupActions.Add(actionupdate);
end;
//////////////////////////таблица приказы//////////////
if Get_SqlData_cxGrid(TTree_Orders) = nil
then with TSqlData_cxGridTableView.Create(TTree_Orders) do
begin
GUID_Select := Get_order_GAK;
GUID_Update:=d_P_ORDERS;
Editing := False;
Params:=CreateVarAr(['','','','']);
Select_Columns.Add(Tree_Orders_Order);
Select_Columns.Add(Tree_Orders_Kind);
Select_Columns.Add(Tree_Orders_Date);
Select_Columns.Add(Tree_Orders_ID);
Select_Columns.Add(Tree_Orders_ID_Order);
Select_Columns.Add(Tree_Orders_idk_order);
Select_Columns.Add(Tree_Orders_id_series);
Select_Columns.Add(Tree_Orders_note);
Select_Columns.Add(Tree_Orders_inst);
//Select_Columns.Add(Tree_Orders_inst_abbr);
//Select_Columns.Add(Tree_Orders_inst_name);
Insert_Columns.Add(Tree_Orders_note,7);
Key_Columns.Add(Tree_Orders_ID);
Stat_Column := Tree_Orders_Order;
with OptionsOrder do
begin
Column_ID_paragraph := Tree_Orders_ID;
Column_ID_order := Tree_Orders_ID_Order;
// Column_Status_Order := tv_Emp_Status;
// Column_Status_Text := tv_Emp_Id_Queue;
//Column_ID_erp_user := tv_Emp_Id_erp_user;
//Column_User_Name := tv_Emp_user;
end;
PopupActions.Add(Prosmotr);
PopupActions.Add(actionUpdate);
// PopupActions.Add (Action_navigate);
PopupActions.Add(OptionsOrder.ActionNavigate);
// PopupActions.Add(OptionsOrder.ActionPreview);
end;
//Form_About.Init();
end;
///////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
procedure TF_Main.FormCreate(Sender: TObject);
begin
t1:=true; //открыт табшит1
t2:=false; // остальные табшиты закрыты
t3:=false;
t4:=false;
sostav_create;
ps.StorageName := StoreName + '\' + self.Name + '\' + ps.Name;
ps.RestoreFrom;
cxTabSheet5.Visible:=false;
FSqlData_TableView := Get_SqlData_cxGrid(tv_commission);
FSqlData_TableView.Params[0]:='';
// FSqlData_TableView.Params[1]:='';
FSqlData_TableView.Read_Data;
cxTabSheet1Show(cxTabSheet1);
end;
procedure TF_Main.After_Read_Division;
var
s: string;
t: integer;
begin
with Get_SqlDatacxTreeList(Tree_Division_List, My_cxTreeList) do
begin
s := 'Всего: 0'+' за ''' + FloatToStr((Read_User_Time)/1000) + '''';
t := GetTickCount;
Add_Hieararhy(Tree_Division_List, [Tree_Division_List_ID_Division], [Tree_Division_List_ID_Division_Main]);
Load_User_Time := Load_User_Time+Integer(GetTickCount)-t;
s := s+' + ''' + FloatToStr((Load_User_Time)/1000) + '''';
Tree_Division_List_Abbr.SummaryFooter.Format:=s;
end;
end;
procedure TF_Main.Tree_Division_ListMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button in [mbRight]
then begin
if Sender = Tree_Division_List
then
Show_PopupEx(self, [al_Refresh_DivList], [True], [], TComponent(Sender));
end;
end;
procedure TF_Main.al_Refresh_DivListExecute(Sender: TObject);
var
tempST: TSqlData_cxTreeList;
begin
tempST := Get_SqlDatacxTreeList(Tree_Division_List, My_cxTreeList);
if tempST <> nil
then begin
with tempST do
begin
if (d_start.Text <> '')
then begin
Params := CreateVarAr([DateToStr(d_start.Date)]);
Read_Data;
end
else begin
Params := CreateVarAr([DateToStr(Date)]);
Read_Data;
end;
end;
end;
end;
/////////////////////////////////////////////
////////////////////////////////////////////
procedure TF_Main.Action_Refresh_RolesExecute(Sender: TObject);
begin
vnSessionAgent.RefreshLoginInfo;
vnSessionAgent.RefreshRolesInfo;
Get_SqlData_cxGrid(Form_About.Tree_Roles_User).IsFirstRead:=True;
Setup;
end;
procedure TF_Main.Change_User ;
begin
if not MSystemServices.Connect(True)
then Close;
Action_Refresh_Roles.Execute;
end;
procedure TF_Main.dxBarButton2Click(Sender: TObject);
begin
Action_Change_User.Execute;
//Change_User;
end;
////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
//главное подр
procedure TF_Main.cxPopup_podrPropertiesInitPopup(Sender: TObject);
begin
al_Refresh_DivList.Execute;
end;
//обновляем подразделение
procedure TF_Main.cxPopup_podr2PropertiesInitPopup(Sender: TObject);
begin
al_Refresh_DivList.Execute;
end;
// специальность
procedure TF_Main.cxPopup_spec2Click(Sender: TObject);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);
if vartostr(Wrap_Div2.Wrappers[cxPopup_podr2].Value)='37'//МИИТ
then
FSqlData_TableView.Params[0]:=''
else // другое подразделение
FSqlData_TableView.Params[0] := vartostr(Wrap_Div2.Wrappers[cxPopup_podr2].Value);
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.cxTabSheet1Show(Sender: TObject);
begin
Panel1.ManualDock(Panel9,nil,alclient);
Panel1.Align:=altop;
cxGrid_Orders.ManualDock(Panel2,nil,alclient);
cxGrid_Orders.Align:=alclient;
// TTree_Orders.ClearItems;
D_start.Text:='';
cxPopup_podr.Text:='';
cxPopup_spec.Text:='';
cxLabel6.Visible:=false;
cxPopup_spec.Visible:=false;
FSqlData_TableView := Get_SqlData_cxGrid(TTree_Orders);
FSqlData_TableView.ClearData;
FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);
FSqlData_TableView.ClearData;
FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);
FSqlData_TableView.ClearData;
t1:=true;
t2:=false;
t3:=false;
t4:=false;
end;
procedure TF_Main.cxTabSheet2Show(Sender: TObject);
begin
Panel1.ManualDock(Panel4,nil,alclient);
Panel1.Align:=altop;
cxGrid_Orders.ManualDock(Panel5,nil,alclient);
cxGrid_Orders.Align:=alclient;
cxLabel6.Visible:=false;
cxPopup_spec.Visible:=false;
D_start.Text:='';
cxPopup_podr.Text:='';
cxPopup_spec.Text:='';
FSqlData_TableView := Get_SqlData_cxGrid(TTree_Orders);
FSqlData_TableView.ClearData;
FSqlData_TableView := Get_SqlData_cxGrid(tv_theme);
FSqlData_TableView.ClearData;
cxPopup_spec4.Text:='';
t1:=false;
t2:=true;
t3:=false;
t4:=false;
end;
procedure TF_Main.cxPopup_specPropertiesChange(Sender: TObject);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);
if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'//МИИТ
then
FSqlData_TableView.Params[0]:=''
else // другое подразделение
FSqlData_TableView.Params[0] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.cxPopup_specPropertiesInitPopup(Sender: TObject);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);
if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'//МИИТ
then
FSqlData_TableView.Params[0]:=''
else // другое подразделение
FSqlData_TableView.Params[0] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.cxPopup_spec2PropertiesInitPopup(Sender: TObject);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);
if vartostr(Wrap_Div2.Wrappers[cxPopup_podr2].Value) = '37'//МИИТ
then
FSqlData_TableView.Params[0]:=''
else // другое подразделение
FSqlData_TableView.Params[0] := vartostr(Wrap_Div2.Wrappers[cxPopup_podr2].Value);
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.cxTabSheet3Show(Sender: TObject);
begin
Panel1.ManualDock(Panel16,nil,alclient);
Panel1.Align:=altop;
cxLabel6.Visible:=true;
cxPopup_spec.Visible:=true;
D_start.Text:='';
cxPopup_podr.Text:='';
cxPopup_spec.Text:='';
FSqlData_TableView := Get_SqlData_cxGrid(tv_protokol);
FSqlData_TableView.ClearData;
t1:=false;
t2:=false;
t3:=true;
t4:=false;
end;
procedure TF_Main.cxTabSheet4Show(Sender: TObject);
begin
Panel1.ManualDock(Panel17,nil,alclient);
Panel1.Align:=altop;
cxLabel6.Visible:=true;
cxPopup_spec.Visible:=true;
D_start.Text:='';
cxPopup_podr.Text:='';
cxPopup_spec.Text:='';
t1:=false;
t2:=false;
t3:=false;
t4:=true;
end;
procedure TF_Main.cxButton5Click(Sender: TObject);
begin
//Form_order.ShowModal;
Insert_IzmExecute(TTree_Orders);
end;
//встраиваем правые части
procedure TF_Main.TTree_OrdersMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if t1=true then
begin
//если выбран приказ о составе ГАК
if TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_idk_order.Index]=222
then
begin
Panel8.ManualDock(cxTabSheet5,nil,alclient);
Panel7.ManualDock(Panel3,nil,alclient);
Panel7.Align:= alclient;
cxPopup_spec3.Text:='';
cxPopup_com.Text:='';
FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);
FSqlData_TableView.Params[1] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);
FSqlData_TableView.Params[0] := '';
FSqlData_TableView.Params[2] :='';
FSqlData_TableView.Read_Data;
end;
//выбранная строчка в гриде, смотрим значение tv_Papers_idk_Order.Index
//если выбран приказ о председателях ГАК
if TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_idk_order.Index]=221
then
begin
Panel7.ManualDock(cxTabSheet5,nil,alclient);
Panel8.ManualDock(Panel3,nil,alclient);
Panel8.Align:= alclient;
cxPopup_spec2.Text:='';
cxPopup_podr2.Text:='';
FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);
FSqlData_TableView.Params[1] := '';
FSqlData_TableView.Read_Data;
end;
end;
if t2=true then
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_theme);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);
FSqlData_TableView.Params[1] := '';
FSqlData_TableView.Read_Data;
end;
end;
procedure TF_Main.cxPopup_spec2PropertiesChange(Sender: TObject);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);
FSqlData_TableView.Params[1]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);
FSqlData_TableView.Read_Data;
end;
//добавить ЭК
procedure TF_Main.cxButton1Click(Sender: TObject);
var s:string;
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_number_commission);
FSqlData_TableView.Params[0]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);
FSqlData_TableView.Read_Data;
if tv_number_commission.DataController.Values[tv_number_commission.DataController.FocusedRecordIndex, tv_number_commission_number.Index]=null
then
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_commission);
FSqlData_TableView.Insert_New(
CreateVarAr([
inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]), //id paragraph, появляется при создании приказа с помощью кнопки BE_Izm
'2', //idk commission
vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value) ,//'140024' , //id_d_specialitie
datetostr( date) //дата создания комиссии
,'1'
,inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex,tv_pred_id_d.Index]) //id d
])) ;
end
else
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_commission);
FSqlData_TableView.Insert_New(
CreateVarAr([
inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]), //id paragraph, появляется при создании приказа с помощью кнопки BE_Izm
'2', //idk commission
vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value) ,//'140024' , //id_d_specialitie
datetostr( date) //дата создания комиссии
, inttostr(tv_number_commission.DataController.Values[tv_number_commission.DataController.FocusedRecordIndex, tv_number_commission_number.Index]+1)
, inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex,tv_pred_id_d.Index])
])) ;
end;
FSqlData_TableView.Params[0]:='';
// FSqlData_TableView.Params[1]:='';
FSqlData_TableView.Read_Data;
FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);
FSqlData_TableView.Params[1]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);
FSqlData_TableView.Read_Data;
end;
//специальность доступна только если выбрано подразделение
procedure TF_Main.cxPopup_podr2PropertiesEditValueChanged(Sender: TObject);
begin
if vartostr(Wrap_Div2.Wrappers[cxPopup_podr2].Value) <> ''
then
begin
cxLabel3.Enabled:=true;
cxPopup_spec2.Enabled:=true;
end
else
begin
cxLabel3.Enabled:=false;
cxPopup_spec2.Enabled:=false;
cxPopup_spec2.Text:='';
cxButton1.Enabled:=false;
cxButton2.Enabled:=false;
FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);
FSqlData_TableView.Params[1] := '';
FSqlData_TableView.Read_Data;
end;
end;
//специальность доступна только если выбрано подразделение
procedure TF_Main.cxPopup_podrPropertiesEditValueChanged(Sender: TObject);
begin
if t3=true then
begin
if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value) <> ''
then
begin
cxLabel6.Enabled:=true;
cxPopup_spec.Enabled:=true;
end
else
begin
cxLabel6.Enabled:=false;
cxPopup_spec.Enabled:=false;
cxPopup_spec.Text:='';
end;
end;
if (datetostr(d_start.date)<>'') and (vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)<>'')
then cxButton10.Enabled:=true
else cxButton10.Enabled:=false;
end;
procedure TF_Main.cxPopup_spec2PropertiesEditValueChanged(Sender: TObject);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);
FSqlData_TableView.Params[1]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);
FSqlData_TableView.Read_Data;
if vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value)<>''
then begin
cxButton1.Enabled:=true;
cxButton2.Enabled:=true
end
else
begin
cxButton1.Enabled:=false;
cxButton2.Enabled:=false;
end
end;
procedure TF_Main.cxButton3Click(Sender: TObject);
begin
//определяем id paragraph создания данной комиссии
FSqlData_TableView := Get_SqlData_cxGrid(tv_commission);
FSqlData_TableView.Params[0] := vartostr(wrap_com.Wrappers[cxPopup_com].Value);
// FSqlData_TableView.Params[1]:='';
FSqlData_TableView.Read_Data;
FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);
if FSqlData_TableView <> nil
then begin
FSqlData_TableView.Insert_New(
CreateVarAr([
vartostr(wrap_com.Wrappers[cxPopup_com].Value), //(tv_pred_id_comission,3);
//inttostr(tv_commission.DataController.Values[tv_commission.DataController.FocusedRecordIndex, tv_commission_id_paragraph.Index]), // add(tv_pred_id_paragraph,4);
inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]), // add(tv_pred_id_paragraph,4);
vartostr(wrap_fio.Wrappers[cxPopupEdit6].Value) ,// add(tv_pred_id_e,2);
datetostr(date),// datetostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_d_start.Index]), //add(tv_pred_id_member,1);
vartostr(wrap_sostav.Wrappers[cxPopupEdit2].Value) // add(tv_pred_id_post,8);
]))
end;
FSqlData_TableView.Read_Data;
cxPopupEdit2.Text:='';
cxPopupEdit6.Text:='';
cxLabel10.Caption:='';
end;
procedure TF_Main.cxPopup_spec3PropertiesInitPopup(Sender: TObject);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.cxPopup_comPropertiesInitPopup(Sender: TObject);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_com_spec);
//FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_id.Index]);
FSqlData_TableView.Params[0] := vartostr(Wrap_spec3.Wrappers[cxPopup_spec3].Value);
FSqlData_TableView.Params[1] :='';
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.cxPopup_spec3PropertiesEditValueChanged(Sender: TObject);
begin
cxpopup_com.Text:='';
cxLabel7.Enabled:=false;
cxLabel8.Enabled:=false;
cxLabel9.Enabled:=false;
cxPopupEdit2.Enabled:=false;
cxlabel10.Enabled:=false;
cxPopupEdit6.Enabled:=false;
if vartostr(Wrap_spec3.Wrappers[cxPopup_spec3].Value)=''
then
begin
cxLabel5.Enabled:=false;
cxPopup_com.Enabled:=false;
end
else
begin
cxLabel5.Enabled:=true;
cxPopup_com.Enabled:=true;
FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);
FSqlData_TableView.Params[1] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);
FSqlData_TableView.Params[0] := vartostr(Wrap_spec3.Wrappers[cxPopup_spec3].Value);
FSqlData_TableView.Params[2] :='';
FSqlData_TableView.Read_Data;
end;
end;
procedure TF_Main.cxButton10Click(Sender: TObject);
begin
if t1=true then //если на первом табшите
begin
FSqlData_TableView := Get_SqlData_cxGrid(TTree_Orders);
FSqlData_TableView.Params[0] := datetostr(D_Start.Date);
if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'
then
FSqlData_TableView.Params[1] :=''
else
FSqlData_TableView.Params[1] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);
FSqlData_TableView.Params[2] := '221';
FSqlData_TableView.Params[3] := '222';
FSqlData_TableView.Read_Data;
end;
if t2=true then //если на первом табшите
begin
FSqlData_TableView := Get_SqlData_cxGrid(TTree_Orders);
FSqlData_TableView.Params[0] := datetostr(D_Start.Date);
if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'
then
FSqlData_TableView.Params[1] :=''
else
FSqlData_TableView.Params[1] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);
FSqlData_TableView.Params[2] := '223';
FSqlData_TableView.Params[3] := '';
FSqlData_TableView.Read_Data;
end;
if t3=true then
begin
{FSqlData_TableView := Get_SqlData_cxGrid(tv_students);
// FSqlData_TableView.Params[0] := datetostr(D_Start.Date);
if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'
then
FSqlData_TableView.Params[0] :=''
else
FSqlData_TableView.Params[0] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);
FSqlData_TableView.Params[1] :=vartostr(Wrap_spec.Wrappers[cxPopup_spec].Value);
FSqlData_TableView.Read_Data; }
FSqlData_TableView := Get_SqlData_cxGrid(tv_protokol);
if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'
then
FSqlData_TableView.Params[0] :=''
else
FSqlData_TableView.Params[0] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);
FSqlData_TableView.Params[1] :=vartostr(Wrap_spec.Wrappers[cxPopup_spec].Value);
FSqlData_TableView.Read_Data;
end;
end;
procedure TF_Main.D_StartPropertiesEditValueChanged(Sender: TObject);
begin
if (datetostr(d_start.date)<>'') and (vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)<>'')
then cxButton10.Enabled:=true
else cxButton10.Enabled:=false;
end;
//добавление приказа о гаках и эках
procedure TF_Main.Insert_IzmExecute(Sender: TObject);
var
id_par,id_order,id_order2,id_series:string; i:integer;
mf: TSForm;
begin
try
// Form_order.Wrap_Div.ClearWrappers;
// Form_order.wrap_korder.ClearWrappers;
mf := CreateSForm(self, 'fNew_SR', 'Добавление приказа',
'Добавление приказа', Form_order.Panel1, tdb_Apply);
TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm]).IsEmpty:=false;
TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm2]).IsEmpty:=false;
form_order.cw_izm.OnChangeWrapper(nil);
Form_order.cw_Izm.ClearWrappers;
Form_order.wrap_korder.ClearWrappers;
if mf.ShowModal = mrOk
then begin
id_par:=TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm]).L_id_paragraph;
if id_par<>'0' then
id_order := TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm]).L_id_order;
id_order2 := TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm2]).L_id_order;
if vartostr(Form_order.wrap_korder.Wrappers[Form_order.cxPopupEdit1].Value) = '221'
then
begin
Form_order.cw_Izm.Wrappers[form_order.BE_Izm2].Value:='1';
MSystemServices.UpdateData(d_P_ORDERS, VarArrayOf([7]), CreateVarAr(['37' ]),
VarArrayOf([0]), CreateVarAr([id_order]), 'Не смогли вставить название');
FSqlData_TableView := Get_SqlData_cxGrid(F_Main.tv_spec);
FSqlData_TableView.Params[0]:='';
FSqlData_TableView.Read_Data;
//добавление в таблицу коммиссии
for i:=0 to tv_spec.DataController.RecordCount-1 do
begin
FSqlData_TableView := Get_SqlData_cxGrid(F_Main.tv_commission);
if FSqlData_TableView <> nil
then begin
//вставляем для каждой специальности ГАК и ЭК-1
FSqlData_TableView.Insert_New(
CreateVarAr([
TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[form_order.BE_Izm]).L_id_paragraph, //id paragraph, появляется при создании приказа с помощью кнопки BE_Izm
'1', //idk commission
tv_spec_id_spec.DataBinding.DataController.GetDisplayText(i,f_main.tv_spec_id_spec.index) ,//'140024' , //id_d_specialitie
DateToStr(Date) //дата создания приказа
,'' //номер комиссии
, tv_spec_id_d.DataBinding.DataController.GetDisplayText(i,f_main.tv_spec_id_d.index)
])) ;
FSqlData_TableView.Insert_New(
CreateVarAr([
TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[form_order.BE_Izm]).L_id_paragraph, //id paragraph, появляется при создании приказа с помощью кнопки BE_Izm
'2', //idk commission
tv_spec_id_spec.DataBinding.DataController.GetDisplayText(i,f_main.tv_spec_id_spec.index) ,//'140024' , //id_d_specialitie
DateToStr(Date) //дата создания приказа
,'1' //номер комиссии
, tv_spec_id_d.DataBinding.DataController.GetDisplayText(i,f_main.tv_spec_id_d.index)
])) ;
end;
end;
end;
if vartostr(Form_order.wrap_korder.Wrappers[Form_order.cxPopupEdit1].Value) = '222' then
begin
// form_order.BE_Izm.Text:='1';
Form_order.cw_Izm.Wrappers[form_order.BE_Izm].Value:='1';
MSystemServices.UpdateData(d_P_ORDERS, VarArrayOf([7]), CreateVarAr([vartostr(Form_order.cw_Izm.Wrappers[form_order.cxPopup_podr].Value )]),
VarArrayOf([0]), CreateVarAr([id_order2]), 'Не смогли вставить название');
end;
end;
finally
{ MSystemServices.DeleteData(d_P_PARAGRAPHS,
VarArrayOf([0]),CreateVarAr([TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm]).L_id_paragraph]),'не смогли удалить запись');
MSystemServices.DeleteData(d_P_Orders,
VarArrayOf([0]),CreateVarAr([TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm]).L_id_order]),'не смогли удалить запись') ;}
if assigned(mf)
then FreeAndNil(mf);
end;
end;
procedure TF_Main.DoChanged_cW_Izm(AWrapper: TCustomEditWrapper);
begin
MakeEnable_OkButton(form_order.Panel1, form_order.cW_Izm.IsNotEmptyMandatory);
end;
procedure TF_Main.cxPopup_comPropertiesEditValueChanged(Sender: TObject);
begin
if (vartostr(wrap_com.Wrappers[cxPopup_com].Value)='') or (cxPopup_com.Text='ГАК') then
begin
cxLabel7.Enabled:=false;
cxLabel8.Enabled:=false;
cxLabel9.Enabled:=false;
cxPopupEdit2.Enabled:=false;
cxlabel10.Enabled:=false;
cxPopupEdit6.Enabled:=false;
// cxButton3.Enabled:= false;
end
else
begin
cxLabel7.Enabled:=true;
cxLabel8.Enabled:=true;
cxLabel9.Enabled:=true;
cxPopupEdit2.Enabled:=true;
cxlabel10.Enabled:=true;
cxPopupEdit6.Enabled:=true;
// cxButton3.Enabled:= true;
end;
FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);
FSqlData_TableView.Params[1] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);
FSqlData_TableView.Params[0] := vartostr(Wrap_spec3.Wrappers[cxPopup_spec3].Value);
FSqlData_TableView.Params[2] :=vartostr(wrap_com.Wrappers[cxPopup_com].Value);
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.cxPopupEdit2PropertiesEditValueChanged(Sender: TObject);
begin
if
(vartostr(Wrap_fio.Wrappers[cxPopupedit6].Value)<>'') and (vartostr(Wrap_sostav.Wrappers[cxPopupedit2].Value)<>'')
then
cxbutton3.Enabled:=true
else
cxbutton3.Enabled:=false
end;
procedure TF_Main.cxPopupEdit6PropertiesEditValueChanged(Sender: TObject);
begin
if (vartostr(Wrap_fio.Wrappers[cxPopupedit6].Value)<>'')
then
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_members);
FSqlData_TableView.Params[0]:=vartostr(Wrap_fio.Wrappers[cxPopupedit6].Value);
FSqlData_TableView.Read_Data;
cxlabel10.Caption := tv_members_post.DataBinding.DataController.GetDisplayText(0,tv_members_post.index)
+ ' ' + tv_members_podr.DataBinding.DataController.GetDisplayText(0,tv_members_podr.index);
FSqlData_TableView := Get_SqlData_cxGrid(tv_members);
FSqlData_TableView.Params[0]:='';
FSqlData_TableView.Read_Data;
end;
if
(vartostr(Wrap_fio.Wrappers[cxPopupedit6].Value)<>'') and (vartostr(Wrap_sostav.Wrappers[cxPopupedit2].Value)<>'')
then
cxbutton3.Enabled:=true
else
cxbutton3.Enabled:=false
end;
procedure TF_Main.tv_pred_fioPropertiesEditValueChanged(Sender: TObject);
var s:string;
d:variant;
id_post:integer;
begin
{s:= tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_fio.Index];
if s <>''
then cxbutton9.Enabled:= true
else cxbutton9.Enabled:=false;
}
d:= tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_d_start.Index];
//если не введено d_start
if d=null
then d:=date; // то сохраняется текущая дата
//если это ГАК
if inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_idk_commission.Index])='1'
then id_post:=55000; // то сохраняется председатель ГАК
//если это ЭК
if inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_idk_commission.Index])='2'
then id_post:=55001; // то сохраняется председатель ЭК
// если до этого не было выбрано никого, т е выбираем в первый раз, тодобавляем строку в commission members
if vartostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_post.Index])=''
then
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);
if FSqlData_TableView <> nil
then begin
FSqlData_TableView.Insert_New(
CreateVarAr([
inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_comission.Index]), //(tv_pred_id_comission,3);
inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]), // add(tv_pred_id_paragraph,4);
inttostr(tv_members.DataController.Values[tv_members.DataController.FocusedRecordIndex, tv_members_id_e.Index]) ,// add(tv_pred_id_e,2);
vartostr(d), //d_start
inttostr(id_post) // add(tv_pred_id_post,8);
]))
end;
end //если до этого уже был кто-то выбран, то просто делаем update id e
else
begin
MSystemServices.UpdateData(d_P_COMMISSION_MEMBERS,
VarArrayOf([2]), CreateVarAr([inttostr(tv_members.DataController.Values[tv_members.DataController.FocusedRecordIndex, tv_members_id_e.Index]) ]),
VarArrayOf([1]),
CreateVarAr([inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_member.Index])]), 'Не смогли вставить название');
end;
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.cxButton6Click(Sender: TObject);
begin
Insert_Izm2Execute(TTree_orders);
end;
procedure TF_Main.cxButton7Click(Sender: TObject);
begin
//Form_protokol.cw_Izm.ClearWrappers;
Insert_Izm3Execute(tv_protokol);
end;
//добавление приказа о закреплении тем дипломов
procedure TF_Main.Insert_Izm2Execute(Sender: TObject);
var
mf: TSForm;
id_par,id_order,s:string;
i:integer;
begin
try
mf := CreateSForm(self, 'fNew_SR', 'Добавление приказа', 'Добавление приказа', Form_order_theme.Panel2, tdb_Apply);
TButtonOrderEditWrapper(Form_order_theme.cw_Izm.Wrappers[Form_order_theme.BE_Izm]).IsEmpty:=false;
form_order_theme.cw_izm.OnChangeWrapper(nil);
Form_order_theme.cw_Izm.ClearWrappers;
if mf.ShowModal = mrOk
then begin
id_par:=TButtonOrderEditWrapper(Form_order_theme.cw_Izm.Wrappers[Form_order_theme.BE_Izm]).L_id_paragraph;
id_order := TButtonOrderEditWrapper(Form_order_theme.cw_Izm.Wrappers[Form_order_theme.BE_Izm]).L_id_order;
//записываем по какому подразделению приказ
MSystemServices.UpdateData(d_P_ORDERS, VarArrayOf([7])
, CreateVarAr([vartostr(Form_order_theme.cw_Izm.Wrappers[form_order_theme.cxPopup_podr].Value )]),
VarArrayOf([0]), CreateVarAr([id_order]), 'Не смогли вставить название');
FSqlData_TableView := Get_SqlData_cxGrid(tv_students);
FSqlData_TableView.Params[0]:=vartostr(Form_order_theme.cw_Izm.Wrappers[form_order_theme.cxPopup_podr].Value );
FSqlData_TableView.Params[1]:='';
FSqlData_TableView.Read_Data;
// FSqlData_TableView := Get_SqlData_cxGrid(tv_themes_only);
//добавление в таблицу ТЕМЫ
for i:=0 to tv_students.DataController.RecordCount-1 do
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_themes_only);
if FSqlData_TableView <> nil
then begin
s:= tv_students_id_theme.DataBinding.DataController.GetDisplayText(i,tv_students_id_theme.index);
if tv_students_id_student.DataBinding.DataController.GetDisplayText(i,tv_students_id_student.index)= '1132119'
then
if s=''
then;
if s = '' then
begin
FSqlData_TableView.Insert_New(
CreateVarAr([
TButtonOrderEditWrapper(Form_order_theme.cw_Izm.Wrappers[Form_order_theme.BE_Izm]).L_id_paragraph // add (tv_themes_only_id_paragraph,1);
, tv_students_id_student.DataBinding.DataController.GetDisplayText(i,tv_students_id_student.index) //add(tv_themes_only_id_student,2);
,'22031' // ,'53836' //add(tv_themes_only_id_discipline,3); дисциплина - дипломный проект
,'12' //add(tv_themes_only_idk_lesson,4); нагрузка-дипломное проектирование
, DateToStr(Date) //add(tv_themes_only_d_start,5);
,' ' //add(tv_themes_only_theme,6);
])) ;
end;
end;
end;
end;
finally
if assigned(mf)
then FreeAndNil(mf);
end;
end;
//добавление протокола
procedure TF_Main.Insert_Izm3Execute(Sender: TObject);
var
mf: TSForm;
i:integer;
s1,s2,s3:string;
begin
try
// Form_protokol.cw_Izm.ClearWrappers;
mf := CreateSForm(self, 'fNew_SR', 'Добавление протоколов', 'Добавление протоколов', Form_protokol.Panel1, tdb_Apply);
TButtonOrderEditWrapper(Form_protokol.cw_Izm.Wrappers[Form_protokol.BE_Izm]).IsEmpty:=false;
form_protokol.cw_izm.OnChangeWrapper(nil);
Form_protokol.cw_Izm.ClearWrappers;
if mf.ShowModal = mrOk
then begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_students);
FSqlData_TableView.Params[0]:=vartostr(Form_protokol.cw_Izm.Wrappers[form_protokol.cxPopup_podr].Value );
FSqlData_TableView.Params[1]:=vartostr(Form_protokol.cw_Izm.Wrappers[form_protokol.cxPopup_spec].Value );
FSqlData_TableView.Read_Data;
FSqlData_TableView := Get_SqlData_cxGrid(tv_com_spec);
FSqlData_TableView.Params[0]:= vartostr(Form_protokol.cw_Izm.Wrappers[form_protokol.cxPopup_spec].Value );
FSqlData_TableView.Params[1]:='2'; //читаем только ЭК
FSqlData_TableView.Read_Data;
for i:=0 to tv_students.DataController.RecordCount-1 do
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_session);
if FSqlData_TableView <> nil
then begin
FSqlData_TableView.Insert_New(
CreateVarAr([
tv_students_id_student.DataBinding.DataController.GetDisplayText(i,tv_students_id_student.index), // add(tv_session_id_student,0);
TButtonOrderEditWrapper(Form_protokol.cw_Izm.Wrappers[Form_protokol.BE_Izm]).L_id_paragraph, // add (tv_session_id_paragraph,1);
'437425',//'1340784', // add(tv_session_ID_VOLUME_DISCIPLINE,2);
'', //add(tv_session_ESTIMATION,3);
'3141', //add(tv_session_ID_E,4);
datetostr(date), // add(tv_session_D_START,5);
'', // add(tv_session_D_PASSING,7);
'22031',//'53836' , // add(tv_session_ID_DISCIPLINE,9);
'12', //add(tv_session_IDK_LESSON,10);
'12' //semester
])) ;
end;
//читаем educational session для этого студента, чтобы узнать id educ session
FSqlData_TableView.Params[0]:= tv_students_id_student.DataBinding.DataController.GetDisplayText(i,tv_students_id_student.index);
FSqlData_TableView.Read_Data;
//читаем табл темы для этого студента чтоб узнать id его темы
FSqlData_TableView := Get_SqlData_cxGrid(tv_themes_only);
FSqlData_TableView.Params[0]:=tv_students_id_student.DataBinding.DataController.GetDisplayText(i,tv_students_id_student.index);
FSqlData_TableView.Read_Data;
FSqlData_TableView := Get_SqlData_cxGrid(tv_protokol);
if FSqlData_TableView <> nil
then begin
s1:=tv_com_spec_id_commission.DataBinding.DataController.GetDisplayText(0,tv_com_spec_id_commission.index);
if s1<>'1' then
s3:= tv_session_ID_EDUCATIONAL_SESSION.DataBinding.DataController.GetDisplayText(0,tv_session_ID_EDUCATIONAL_SESSION.index);
if s3<>'2' then
s2:=tv_themes_only_id_theme.DataBinding.DataController.GetDisplayText(0,tv_themes_only_id_theme.index);
if s2='' then s2:=' ';
FSqlData_TableView.Insert_New(
CreateVarAr([
s1,//tv_com_spec_id_commission.DataBinding.DataController.GetDisplayText(0,tv_com_spec_id_commission.index), // add(tv_protokol_id_comisiion,2);
//по умолчанию вставляем первый ЭК специальности (индекс записи-1, т к нулевой индекс-ГАК)
// вставляем ID_EDUCATIONAL_SESSION для данного студента, тк таблица tv_session содержит в дан омент одну запись для этого студента(индекс записи-0)
s3,//tv_session_ID_EDUCATIONAL_SESSION.DataBinding.DataController.GetDisplayText(0,tv_session_ID_EDUCATIONAL_SESSION.index),// add(tv_protokol_ID_EDUCATIONAL_SESSION,3);
TButtonOrderEditWrapper(Form_protokol.cw_Izm.Wrappers[Form_protokol.BE_Izm]).L_id_paragraph,// add(tv_protokol_ID_PARAGRAPH,4);
datetostr(date), // add(tv_protokol_d_start,5);
s2 // add(tv_protokol_ID_WORK_THEMES,6);
])) ;
end;
end;
//FSqlData_TableView.Params[0]:=vartostr(Form_protokol.cw_Izm.Wrappers[form_protokol.cxPopup_podr].Value );
//FSqlData_TableView.Params[1]:=vartostr(Form_protokol.cw_Izm.Wrappers[form_protokol.cxPopup_spec].Value );
FSqlData_TableView.ClearData;
end;
finally
if assigned(mf)
then FreeAndNil(mf);
end;
end;
procedure TF_Main.cxPopup_spec4PropertiesInitPopup(Sender: TObject);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.cxPopup_spec4PropertiesEditValueChanged(Sender: TObject);
begin
//if t2=true then
//begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_theme);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);
FSqlData_TableView.Params[1] := vartostr(Wrap_spec4.Wrappers[cxPopup_spec4].Value);
FSqlData_TableView.Read_Data;
// end
end;
procedure TF_Main.tv_theme_fio_rukPropertiesEditValueChanged(
Sender: TObject);
begin
if tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_fio_ruk.Index] <>''
then cxbutton13.Enabled:= true
else cxbutton13.Enabled:=false;
end;
procedure TF_Main.cxButton13Click(Sender: TObject);
var i:integer;
begin
// FNode := Tree_Staff.FocusedNode;
// ID_staff_unit := tv_Poz.DataController.Values[tv_Poz.DataController.FocusedRecordIndex, tv_Poz_ID_Units.Index];
// i := tv_theme.DataController.FocusedRecordIndex;
// if HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Удаление записи в таблице "Позиции штатного расписания"','Вы действительно хотите удалить запись?')
// then begin
// MSystemServices.ExchangeData(Del_new_Str,
// CreateVarAr([ID_staff_unit]),
// 'Не смогли удалить позицию штатного расписания');
// Get_SqlData_cxGrid(tv_Poz).Read_Data;
// tv_theme.DataController.DeleteRecord(i);
//если до этого не был никто выбран, т е выбираем первый раз то вставляем строку
if vartostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_post_staff.Index])=''
then
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_ruk);
if FSqlData_TableView <> nil
then begin
FSqlData_TableView.Insert_New(
CreateVarAr([
inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_student.Index]), // add(tv_ruk_id_student,0);
inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_e.Index]), // add (tv_ruk_id_e,1);
inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_paragraph.Index]), // add(tv_ruk_id_paragraph,2);
'12', //add(tv_ruk_idk_lesson,3);
datetostr(date),//add(tv_ruk_d_start,4);
'22031' //'53836' //add(tv_ruk_id_discipline,6);
]))
end;
end
else //если уже был кто-то выбрандо этого , т е меняем, то делаем update id e
begin
MSystemServices.UpdateData(d_P_STUDENTS_MANUAL, VarArrayOf([1])
, CreateVarAr([vartostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_e.Index]) ]),
VarArrayOf([0])
, CreateVarAr([inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_student.Index])]),
'Не смогли вставить название');
end;
FSqlData_TableView.Read_Data;
MSystemServices.UpdateData(d_P_THEMES_WORKS, VarArrayOf([6])
, CreateVarAr([vartostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_theme.Index]) ]),
VarArrayOf([0])
, CreateVarAr([inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_theme.Index])]), 'Не смогли вставить название');
FSqlData_TableView := Get_SqlData_cxGrid(tv_theme);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);
FSqlData_TableView.Params[1] := vartostr(Wrap_spec4.Wrappers[cxPopup_spec4].Value);
FSqlData_TableView.Read_Data
end;
procedure TF_Main.tv_protokol_comissionPropertiesInitPopup(
Sender: TObject);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_com_spec);
FSqlData_TableView.Params[0]:=inttostr(tv_protokol.DataController.Values[tv_protokol.DataController.FocusedRecordIndex, tv_protokol_id_spec.Index]);
FSqlData_TableView.Params[1]:='2'; //читаем только ЭК
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.tv_protokol_comissionPropertiesEditValueChanged(
Sender: TObject);
var s,s1:string;
begin
// FSqlData_TableView := Get_SqlData_cxGrid(tv_session);
// FSqlData_TableView.IsNeedUpdate := false;
FSqlData_TableView := Get_SqlData_cxGrid(tv_protokol);
FSqlData_TableView.IsNeedUpdate := false;
MSystemServices.UpdateData(d_P_SESSION_REPORT, VarArrayOf([2])
, CreateVarAr([vartostr(tv_com_spec.DataController.Values[tv_com_spec.DataController.FocusedRecordIndex, tv_com_spec_id_commission.Index])]),
VarArrayOf([1])
, CreateVarAr([vartostr(tv_protokol.DataController.Values[tv_protokol.DataController.FocusedRecordIndex, tv_protokol_ID_SESSION_REPORT.Index])]),
'Не смогли вставить название');
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.prosmotrExecute(Sender: TObject);
begin
if t1=true then //просмотр приказа о председателях
begin
if inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_idk_order.Index])='221' then
HandymanFunctions.PreviePaper(MSystemServices,StringToGUID('{E155BC19-F495-4E4C-873E-911B6022984F}'),CreateVarAr( [inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID_Order.Index])]));
if inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_idk_order.Index])='222' then
HandymanFunctions.PreviePaper(MSystemServices,StringToGUID('{128F5570-4DFB-4C98-9312-789AC63B5ACE}'),CreateVarAr( [inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID_Order.Index])]));
end;
if t2=true then //просмотр приказа о темах
HandymanFunctions.PreviePaper(MSystemServices,StringToGUID('{9591563F-2C5F-4469-9BC8-E81791177620}'),CreateVarAr( [inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index])]));
end;
procedure TF_Main.delete1Execute(Sender: TObject);
begin
if HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Удаление председателей','Вы действительно хотите удалить запись?')
then
MSystemServices.DeleteData(d_P_COMMISSION_MEMBERS,
VarArrayOf([1]),CreateVarAr([inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_member.Index])]),'не смогли удалить запись');
{MSystemServices.DeleteData(d_P_COMMISSION,
VarArrayOf([1]),CreateVarAr([inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_member.Index])]),'не смогли удалить запись');}
FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);
FSqlData_TableView.Params[1]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.delete2Execute(Sender: TObject);
var s,s1:string;
s2:variant;
begin
s:=inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_idk_commission.Index]);
s1:=inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_com_number.Index]);
s2:=tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_e.Index];
if vartostr(s2)<>'6'then
if ((s<>'1')
and (s1<>'1')
and (vartostr(s2)=''))
then
if HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Удаление ЭК','Вы действительно хотите удалить запись?')
then
MSystemServices.DeleteData(d_P_COMMISSION,
VarArrayOf([1]),CreateVarAr([inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_comission.Index])]),'не смогли удалить запись')
//tv_pred.
else
else HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Нельзя произвести действие','Нельзя удалить ГАК и ЭК-1!') ;
FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);
FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);
FSqlData_TableView.Params[1]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.delete3Execute(Sender: TObject);
begin
if HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Удаление названия темы','Вы действительно хотите удалить запись?')
then begin
MSystemServices.DeleteData(d_P_THEMES_WORKS,
VarArrayOf([0]),CreateVarAr([inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_theme.Index])]),'не смогли удалить запись');
end
end;
procedure TF_Main.delete4Execute(Sender: TObject);
begin
if ((inttostr(tv_sostav.DataController.Values[tv_sostav.DataController.FocusedRecordIndex, tv_sostav_id_post.Index])<>'55000')
and (inttostr(tv_sostav.DataController.Values[tv_sostav.DataController.FocusedRecordIndex, tv_sostav_id_post.Index])<>'55001'))
then
begin
if HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Удаление члена комиссии','Вы действительно хотите удалить запись?')
then
MSystemServices.DeleteData(d_P_COMMISSION_MEMBERS,
VarArrayOf([1]),CreateVarAr([inttostr(tv_sostav.DataController.Values[tv_sostav.DataController.FocusedRecordIndex, tv_sostav_id_member.Index])]),'не смогли удалить запись');
end
else
HandymanFunctions.ShowVNDialog(vnd_Confirmation , 'Нельзя произвести действие','Нельзя удалить председателя!');
FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);
FSqlData_TableView.Params[1] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);
FSqlData_TableView.Params[0] := vartostr(Wrap_spec3.Wrappers[cxPopup_spec3].Value);
FSqlData_TableView.Params[2] :=vartostr(wrap_com.Wrappers[cxPopup_com].Value);
FSqlData_TableView.Read_Data;
end;
procedure TF_Main.cxButton2Click(Sender: TObject);
begin
delete2.Execute;
end;
procedure TF_Main.dxBarButton1Click(Sender: TObject);
begin
Form_About.ShowModal;
end;
procedure TF_Main.FormShow(Sender: TObject);
begin
Form_About.Init;
//Setup;
//Form_About.Refresh_Roles := Setup;
end;
procedure TF_Main.Setup;
begin
//F_Main.Refresh_Roles;
end;
procedure TF_Main.Action_Change_UserExecute(Sender: TObject);
begin
if not MSystemServices.Connect(True)
then Close;
Action_Refresh_Roles.Execute;
end;
procedure TF_Main.Action_navigateExecute(Sender: TObject);
var
s,s1:string;
begin
{s:=inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);
s1:=inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_idk_order.Index]);
vnListAgent.LA_ConsoleWindow(
[vnLC_VisibleActionsPanel, vnLC_VisibleFiltersPanel, vnLC_VisibleChoosePanel
, vnLC_Value_ListsProject, vnLC_Value_ListsOrder, vnLC_Value_ListsOwner
, vnLC_Value_KindsList
, vnLC_Value_StepOnListChild
, vnLC_Caption_Window
]
, VarArrayOf([True, True, False
, True, True, True
, s1//New_Data //вид приказа
, s //id_paragraph
, 'Навигация по документам'
])
, nil
, nil//After_Navigate
); }
end;
procedure TF_Main.tv_sessionEditValueChanged(
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_session);
FSqlData_TableView.IsNeedUpdate := true;
end;
procedure TF_Main.tv_protokolEditValueChanged(
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_protokol);
FSqlData_TableView.IsNeedUpdate := false;
//FSqlData_TableView := Get_SqlData_cxGrid(tv_session);
//FSqlData_TableView.IsNeedUpdate := false;
end;
procedure TF_Main.tv_predEditValueChanged(Sender: TcxCustomGridTableView;
AItem: TcxCustomGridTableItem);
begin
FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);
FSqlData_TableView.IsNeedUpdate:=false;
end;
end.
ПРИЛОЖЕНИЕ 2
Текст запросов
select p.id_post,p.name
from posts_categories_ pc,post_ p,categories_ c
where c.id_categorie=8
and c.id_categorie=pc.id_categorie
and pc.id_post=p.id_post
and p.id_post not in (55000,55001)
select
c.id_commission
,c.id_paragraph
,c.idk_commission
,c.id_speciality
,c.d_start
,c.commission_number
,c.id_d
from commission_ c
where ((c.id_commission=%p1[i]%) or (%p1[i]% is null))
SELECT p.ID_POST, p.NAME,s.factor, d.name
FROM POST_ p, POSTS_CATEGORIES_ pc, UNITS_STAFF_ us, STAFF_ s,DIVISION_ d,LIST_STAFF_ ls
WHERE s.id_e=%p1% AND s.idk_reception=1 AND
s.D_START<='%p2%' AND (s.D_END IS NULL OR s.D_END>='%p2%') AND
BS_.IsSigned(s.ID_ORDER_START) <> '0' AND (s.id_order_end IS NULL OR BS_.IsSigned(s.ID_ORDER_end) <>
'0')
AND s.ID_UNITS=us.ID_UNITS AND us.id_lstaff=ls.id_lstaff AND ls.id_d=d.id_d AND
us.idg_post=pc.idg_post AND pc.id_post=p.id_post
select e.id_student
,e.id_paragraph
,e.id_volume_discipline
,e.estimation
,e.id_e
,e.d_start
,e.d_passing
,e.id_discipline
,e.idk_lesson
,e.semester
,e.id_educational_session
from educational_session_ e
where
((e.id_student=%p1[i]%) or (%p1[i]% is null))
--and e.id_volume_discipline=1340784
and e.id_volume_discipline=437425
order by e.id_student
select t.id_work_themes
,t.id_paragraph
,t.id_student
,t.id_discipline
,t.idk_lesson
,t.d_start
,t.theme
from themes_works_ t
where
((t.id_student=%p1[i]%) or (%p1[i]% is null)
SELECT
distinct
em.id_e
,EM.SURNAME||' '||EM.NAME||' '||EM.PATRONYMIC fio
--,p.ID_POST
, p.NAME
--, kr.IDK_RECEPTION,kr.name, s.factor
, d.name
FROM
STAFF_ s, UNITS_STAFF_ us, LIST_STAFF_ ls, DIVISION_ d, POSTS_CATEGORIES_ pc, POST_ p,
KIND_RECEPTION_ kr,EMPLOYEES_ EM,
SCIENTIFIC_DEGREE_ SDE,
SCIENTIFIC_RANK_ SRA,
KIND_SCIENTIFIC_RANK_ KSRA
WHERE
s.id_e=em.id_e
AND
s.ID_UNITS=us.ID_UNITS AND us.id_lstaff=ls.id_lstaff AND ls.id_d=d.id_d AND
us.idg_post=pc.idg_post AND pc.id_post=p.id_post AND s.idk_reception=kr.idk_reception
Подобные документы
Последовательность разработки приложения, автоматизирующего технологию организации повышения квалификации. Архитектура создаваемого приложения. Разработка модели данных. Разграничение прав доступа. Инструкция пользователя. Оценка капитальных затрат.
дипломная работа [4,0 M], добавлен 27.07.2013Написание программы для работы со списком документов, разработка функционала. Требования к аппаратному и программному обеспечению. Описание интерфейса пользователя. Структура программы и описание данных. Процедура тестирования и его результаты.
курсовая работа [1,5 M], добавлен 26.08.2012Программирование геоинформационной системы: создание векторного чертежа университета, слоев, блоков, написание базы данных (составление таблиц, их связи, нормализация данных), разработка приложения для связи графической и атрибутивной информации.
курсовая работа [3,0 M], добавлен 30.07.2010Спецификация требований к разрабатываемому приложению. Разработка структурной схемы интерфейса. Описание алгоритма шифрования DES. Разработка программного кода приложения "DES". Проведение исследования основных шагов для генерации ключей и шифрования.
курсовая работа [398,4 K], добавлен 13.12.2022Обоснование метода организации входной и выходной информации. Рассмотрение особенностей функционирования программы автоматизации работы сотрудника университета по ведению учёта о материально-техническом обеспечении. Оценка логики работы программы.
курсовая работа [804,8 K], добавлен 05.04.2019Программирование системы "Метрологическое обеспечение университета": построение инфологической модели предметной области, формирование таблиц, установление связей между их полями, создание запросов, форм и отчетов с помощью инструментов Ms Access.
курсовая работа [2,8 M], добавлен 19.11.2010Структура базы данных web-приложения предприятия ООО "Седово"; автоматизация процесса передачи документов. Разработка технического задания, проектирование БД, функциональное назначение web-приложений, тестирование, отладка и размещение в сети Internet.
дипломная работа [5,3 M], добавлен 24.06.2011Разработка программного приложения WindowsForms для работы с базой данных на языке высокого уровня C# в автономном режиме с использованием ADO.NET. Проектирование реляционной модели базы данных, интерфейса приложения, основных функций и возможностей.
курсовая работа [4,3 M], добавлен 30.06.2015Разработка локальной вычислительной сети для Тверского государственного университета. Топологии и технологии для реализации компьютерных сетей. Составление конфигурации сетевого оборудования. Выбор сетевых устройств для компьютерной сети. Структура сети.
курсовая работа [3,0 M], добавлен 23.06.2012Анализ деятельности бухгалтерии Горно-Алтайского государственного университета. Выявление процессов, требующих автоматизации. Экономическое обоснование системы учета студентов, обучающихся на платной основе. Проектирование концептуальной модели данных.
отчет по практике [390,1 K], добавлен 24.05.2015