Диплом: Автоматизация регистрации обращений граждан в Агенство социального страхования и пенсий при Правительстве Республики Таджикистан

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
136
ShowMessage('Поле Дом должно быть не более 3 символов, не допускается пустых
полей');
end;
if((Length(KorpLabeledEdit.Text)>3) or (Length(KorpLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('Поле Корпус должно быть не более 1 символов, не допускается пустых
полей');
end;
if((Length(KvLabeledEdit.Text)>3) or (Length(KvLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('Поле Квартира должно быть не более 3 символов, не допускается пустых
полей');
end;
if(Length(VidDocumComboBox.Text)=0) then
begin
ready:=False;
ShowMessage('Не допускается пустого поля Вид документа');
end;
{
if(Length(PrichObrComboBox.Text)=0) then
begin
ready:=False;
ShowMessage('Не допускается пустого поля Причина обращения');
end;
}
// если требования по полям проходят, вставляем в бд значения полей
if(ready) then
begin
DocumNomText:= PersNumMaskEdit.Text;
Delete(DocumNomText,4,1);
Delete(DocumNomText,7,1);
Delete(DocumNomText,10,1);
ADOConnection1.Open();
ADOQuery1.SQL.Clear();
137
ADOQuery1.SQL.Text:='Select Num from dbo.Docum where
Name_D='''+VidDocumComboBox.Text+'''';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.RecordCount=0) then
ShowMessage('Данный вид документа отсутствует в справочнике документов')
else
begin
idDocum:=ADOQuery1.FieldByName('Num').AsInteger;
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select Number from dbo.Street where
Name='''+UlicaLabeledEdit.Text+'''';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.RecordCount=0) then
ShowMessage('Данная улица отсутствует в справочнике документов')
else
begin
idUl:=ADOQuery1.FieldByName('Number').AsInteger;
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select Number from dbo.PUNkt where
Name='''+NPLabeledEdit.Text+'''';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.RecordCount=0) then
ShowMessage('Данный населенный отсутствует в справочнике документов')
else
begin
idNp:=ADOQuery1.FieldByName('Number').AsInteger;
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select * from dbo.BD_ZL where Pers_Num='''+DocumNomText+'''';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.RecordCount<>0) then
ShowMessage('Человек с данным страховым номером уже есть в базе!')
else
begin
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select max(Num)as Num from dbo.bd_zl';
ADOQuery1.Close();
138
ADOQuery1.Open();
if(ADOQuery1.FieldByName('Num').AsString='NULL') then
max_num:=1
else
max_num:=ADOQuery1.FieldByName('Num').AsInteger +1;
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Insert into dbo.bd_zl values ( '+IntToStr(max_num)+',
'''+DocumNomText+''', '''+FamilyLabeledEdit.Text+''', '''+Name1LabeledEdit.Text+''',
'''+Name2LabeledEdit.Text+''',
'''+DateTimeToStr(DateRogDateTimePicker.Datetime)+''','''+SeriaLabeledEdit.Text+''','''+Nomer
DLabeledEdit.Text+''', '''+DateTimeToStr(DateVidDateTimePicker.Datetime)+''',
'''+KemVydanLabeledEdit.Text+''',
'''+DomLabeledEdit.Text+''','''+KorpLabeledEdit.Text+''','''+KvLabeledEdit.Text+''','+IntToStr(id
Docum)+','+IntToStr(idUl)+','+IntToStr(idNp)+') ';
ADOQuery1.Close();
//ADOQuery1.Open();
ADOQuery1.ExecSQL();
ShowMessage('Выполнено');
end;
ADOConnection1.Close();
end;
end;
end;
end;
end;
procedure TAddForm.Button2Click(Sender: TObject);
var idLogin,idPrich:string;max_num_gur:integer; ready:Boolean;
begin
// проверяем заполнение полей по длине
ready:=True;
if(Length(PersNumMaskEdit.Text)<>14) then
begin
ready:=False;
ShowMessage('Страховой номер должен содержать 12 символов');
end;
if((Length(FamilyLabeledEdit.Text)>20) or (Length(FamilyLabeledEdit.Text)=0)) then
begin
ready:=False;
139
ShowMessage('Фамилия должна быть не более 20 символов, не допускается пустых
полей');
end;
if((Length(Name1LabeledEdit.Text)>15) or (Length(Name1LabeledEdit.Text)=0)) then
begin
ready:=False ;
ShowMessage('Имя должно быть не более 15 символов, не допускается пустых полей');
end;
if((Length(Name2LabeledEdit.Text)>20) or (Length(Name2LabeledEdit.Text)=0)) then
begin
ready:=False ;
ShowMessage('Отчество должно быть не более 20 символов, не допускается пустых
полей');
end;
if((Length(SeriaLabeledEdit.Text)>6) or (Length(SeriaLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('Серия должна быть не более 6 символов, не допускается пустых полей');
end;
if((Length(NomerDLabeledEdit.Text)>8) or (Length(NomerDLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('Номер документа должен быть не более 8 символов, не допускается
пустых полей');
end;
if((Length(KemVydanLabeledEdit.Text)>30) or (Length(KemVydanLabeledEdit.Text)=0))
then
begin
ready:=False;
ShowMessage('Поле Кем выдан должно быть не более 30 символов, не допускается
пустых полей');
end;
if((Length(DomLabeledEdit.Text)>3) or (Length(DomLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('Поле Дом должно быть не более 3 символов, не допускается пустых
полей');
end;
140
if((Length(KorpLabeledEdit.Text)>3) or (Length(KorpLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('Поле Корпус должно быть не более 1 символов, не допускается пустых
полей');
end;
if((Length(KvLabeledEdit.Text)>3) or (Length(KvLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('Поле Квартира должно быть не более 3 символов, не допускается пустых
полей');
end;
if(Length(VidDocumComboBox.Text)=0) then
begin
ready:=False;
ShowMessage('Не допускается пустого поля Вид документа');
end;
if(Length(PrichObrComboBox.Text)=0) then
begin
ready:=False;
ShowMessage('Не допускается пустого поля Причина обращения');
end;
// если запись в БД с таким персональным номером есть можно записывать в журнал
DocumNomText:= PersNumMaskEdit.Text;
Delete(DocumNomText,4,1);
Delete(DocumNomText,7,1);
Delete(DocumNomText,10,1);
ADOConnection1.Open;
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select * from dbo.bd_zl where pers_num='''+DocumNomText+''' ';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.RecordCount=0) then
begin
ShowMessage('Данного физического лица нет в базе!');
ready:=false;
end;
// записываем в журнал
if(ready) then
begin
141
if(MessageDlg('СОХРАНИТЬ ОБРАЩЕНИЕ',mtInformation, [mbYes, mbNo],0)=mrYes)
then
begin
ADOConnection1.Open();
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select Num from dbo.Users where Login='''+Login+'''';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.RecordCount=0) then
ShowMessage('Данный пользователь не авторизован!')
else
begin
idLogin:=ADOQuery1.FieldByName('Num').AsString;
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select Num from dbo.Reson where
Reason='''+PrichObrComboBox.Text+'''';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.RecordCount=0) then
ShowMessage('Введеной причины обращения нет в базе!')
else
begin
idPrich:=ADOQuery1.FieldByName('Num').AsString;
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select max(Num)as Num from dbo.gur_reg_zl';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.FieldByName('Num').AsString='NULL') then
max_num:=1
else
max_num:=ADOQuery1.FieldByName('Num').AsInteger+1;
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select max(Nomer) as Num from dbo.gur_reg_zl';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.FieldByName('Num').AsString='NULL') then
max_num_gur:=1
else
max_num_gur:=ADOQuery1.FieldByName('Num').AsInteger +1;
142
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Insert into dbo.gur_reg_zl values
('+IntToStr(max_num)+','+IntToStr(max_num_gur)+','''+DocumNomText+''','''+FamilyLabeledE
dit.Text+''','''+Name1LabeledEdit.Text+''','''+Name2LabeledEdit.Text+''',GETDATE(),'''+idPrich
+''','''+idLogin+''') ';
ADOQuery1.Close();
ADOQuery1.ExecSQL();
ShowMessage('Выполнено');
end;
ADOConnection1.Close();
end;
end;
end;
end;
procedure TAddForm.RegNMaskEditChange(Sender: TObject);
begin
DocumNomText:=RegNMaskEdit.Text;
if(Pos(' ', DocumNomText)<>0) then
begin
while(Pos(' ', DocumNomText)<>0) do
begin
Delete(DocumNomText,Pos(' ', DocumNomText),1);
end;
while(Pos('-', DocumNomText)<>0) do
begin
Delete(DocumNomText,Pos('-', DocumNomText),1);
end;
while(Pos('_', DocumNomText)<>0) do
begin
Delete(DocumNomText,Pos('_', DocumNomText),1);
end;
ADOConnection1.Open();
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select * from dbo.bd_org where num_reg
like'''+DocumNomText+'%'' ';
ADOQuery1.Open();
if(ADOQuery1.RecordCount=1) then
begin
NameOrgLabeledEdit.Text:= ADOQuery1.FieldByName('Name_org').AsString;
143
INNLabeledEdit.Text:= ADOQuery1.FieldByName('INN').AsString;
KPPLabeledEdit.Text:= ADOQuery1.FieldByName('KPP').AsString;
DocumNomText:=ADOQuery1.FieldByName('Num_reg').AsString;
Insert('-',DocumNomText,4);
Insert('-',DocumNomText,8);
RegNMaskEdit.Text:=DocumNomText;
end;
ADOQuery1.Close();
ADOConnection1.Close();
end;
end;
procedure TAddForm.AddToBDOrgButtonClick(Sender: TObject);
var idDocum : INTEGER; ready:Boolean;
begin
// проверяем заполнение полей
ready:=True;
if(Length(RegNMaskEdit.Text)<>14) then
begin
ready:=False;
ShowMessage('Регистрационный номер должен содержать 12 символов');
end;
if((Length(NameOrgLabeledEdit.Text)>50) or (Length(NameOrgLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('Наименование организации должно быть не более 50 символов, не
допускается пустых полей');
end;
if((Length(INNLabeledEdit.Text)>10) or (Length(INNLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('ИНН организации должен быть не более 10 символов, не допускается
пустых полей');
end;
if((Length(KPPLabeledEdit.Text)>9) or (Length(KPPLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('КПП организации должен быть не более 9 символов, не допускается
пустых полей');
end;
144
// проверяем наличие предприятия с введенным рег номером если есть то необходимости
вставлять нет
if(ready) then
begin
DocumNomText:= RegNMaskEdit.Text;
Delete(DocumNomText,4,1);
Delete(DocumNomText,7,1);
ADOConnection1.Open();
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select * from dbo.BD_org where Num_reg='''+DocumNomText+'''';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.RecordCount<>0) then
ShowMessage('Предприятие с таким рег. номером уже есть в базе!')
else
begin
// вставляем новую запись
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select MAX(Num) as Num from dbo.bd_org';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.FieldByName('Num').AsString='NULL') then
idDocum:=1
else
idDocum:=ADOQuery1.FieldByName('Num').AsInteger+1 ;
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Insert into dbo.bd_org
values('+IntToStr(idDocum)+','''+DocumNomText+''','''+INNLabeledEdit.Text+''','''+KPPLabele
dEdit.Text+''','''+NameOrgLabeledEdit.Text+''')';
ADOQuery1.Close();
ADOQuery1.ExecSQL();
ShowMessage('Выполнено');
end;
end;
end;
procedure TAddForm.SaveToGurOrgButtonClick(Sender: TObject);
var idDocum,id_gur_org : INTEGER; ready:Boolean; idPrich,idLogin:string;
begin
// проверяем заполнение полей
ready:=True;
145
if(Length(RegNMaskEdit.Text)<>14) then
begin
ready:=False;
ShowMessage('Регистрационный номер должен содержать 12 символов');
end;
if((Length(NameOrgLabeledEdit.Text)>50) or (Length(NameOrgLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('Наименование организации должно быть не более 50 символов, не
допускается пустых полей');
end;
if((Length(INNLabeledEdit.Text)>10) or (Length(INNLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('ИНН организации должен быть не более 10 символов, не допускается
пустых полей');
end;
if((Length(KPPLabeledEdit.Text)>9) or (Length(KPPLabeledEdit.Text)=0)) then
begin
ready:=False;
ShowMessage('КПП организации должен быть не более 9 символов, не допускается
пустых полей');
end;
if(Length(PrObrComboBox2.Text)=0) then
begin
ready:=False;
ShowMessage(' Не допускается пустых полей');
end;
// ищем юр лицо в базе если есть можно вставить причину обращения
DocumNomText:= RegNMaskEdit.Text;
Delete(DocumNomText,4,1);
Delete(DocumNomText,7,1);
ADOConnection1.Open;
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='Select * from dbo.bd_org where num_reg='''+DocumNomText+''' ';
ADOQuery1.Close();
ADOQuery1.Open();
if(ADOQuery1.RecordCount=0) then
begin
ShowMessage('Данного юридического лица нет в базе!');
ready:=false;

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)