Диплом: Автоматизация представления данных о налогоплательщиках для ООО "Сибтрейд"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
116
SQl.add('UPDATE kvartira SET lschet=id WHERE id = '+label10.Caption);
open;
end;
PageControl1.Enabled:=true;
end
else
begin
With AdoQuery1 do
begin
close;
SQL.clear;
SQl.Add('UPDATE kvartira SET idhouse = :idhouse, podezd = :podezd, nomer = :nomer,
squareobsh = :squareobsh, squaregil = :squaregil, idTypesobstv = :idTypesobstv')
;
SQL.add('WHERE id = '+Label10.Caption);
Parameters.ParamByName('idhouse').Value:=DbLookupCombobox3.KeyValue;
Parameters.ParamByName('podezd').Value:=edit2.Text;
Parameters.ParamByName('nomer').Value:=edit3.Text;
Parameters.ParamByName('squareobsh').Value:=edit4.Text;
Parameters.ParamByName('squaregil').Value:=edit5.Text;
Parameters.ParamByName('idTypesobstv').Value:=DbLookupCombobox2.KeyValue;
ExecSQL;
end;
end;
end
else
begin
Showmessage('Заполнены не все данные');
end;
end;
procedure TKvartiraForm.BitBtn2Click(Sender: TObject);
begin
MainForm.CreateSpravForm('Выберите услугу с помощью правой кнопки
мыши',label10.caption,DataM.UslugaTable,1, 'nam');
end;
Procedure TKvartiraForm.Refleshalltables;
begin
BitBtn4.Click;
BitBtn7.Click;
BitBtn10.Click;
BitBtn13.Click;
DBGRid6.DataSource.DataSet.Close;
DbGRid6.DataSource.DataSet.Open;
end;
procedure TKvartiraForm.FormActivate(Sender: TObject);
begin
Refleshalltables;
end;
procedure TKvartiraForm.BitBtn4Click(Sender: TObject);
begin
Uslugakvartira.close;
Uslugakvartira.OnCalcFields:=ADOTable1CalcFields;
With ADOQuery2 do
117
begin
close;
SQL.clear;
SQl.add('SELECT nachisl.iduslugakvartira, Year(nachisl.datenachisl) AS [YEAR],
Month(nachisl.datenachisl) AS [Month], Sum(nachisl.summa) AS sumnachisl');
SQl.add('FROM uslugakvartira INNER JOIN nachisl ON uslugakvartira.id =
nachisl.iduslugakvartira');
SQl.add('WHERE (((uslugakvartira.idkvartira)='+label10.caption+'))');
SQl.add('GROUP BY nachisl.iduslugakvartira, Year(nachisl.datenachisl),
Month(nachisl.datenachisl)');
SQl.add('HAVING (((Year(nachisl.datenachisl))='+IntToStr(Yearof(now))+') AND
((Month(nachisl.datenachisl))='+IntToStr(MonthOf(now))+'));');
open
end;
With ADOQuery3 do
begin
close;
SQl.clear;
SQl.Add('SELECT oplatausluga.iduslugakvartira, Year(oplatausluga.dataoplata) AS
[year], Month(oplatausluga.dataoplata) AS [month], Sum(oplatausluga.summa) AS
Sumoplata');
SQL.add('FROM oplatausluga INNER JOIN uslugakvartira ON
oplatausluga.iduslugakvartira = uslugakvartira.id');
SQL.add('WHERE (((uslugakvartira.idkvartira)='+label10.caption+'))');
SQl.Add('GROUP BY oplatausluga.iduslugakvartira, Year(oplatausluga.dataoplata),
Month(oplatausluga.dataoplata)');
SQl.add('HAVING (((Year(oplatausluga.dataoplata))='+IntToStr(Yearof(now))+')
AND ((Month(oplatausluga.dataoplata))='+IntToStr(MonthOf(now))+'))');
open;
end;
//AdoQuery3.Close;
//AdoQuery3.Open;
Uslugakvartira.OnCalcFields:=UslugakvartiraCalcFields;
Uslugakvartira.open;
end;
procedure TKvartiraForm.BitBtn3Click(Sender: TObject);
begin
if not dbgrid1.DataSource.DataSet.FieldByName('id').IsNull then
begin
If MessageBox(Handle,PChar('Удалить
запись?'),PChar('Подтверждение'),MB_ICONINFORMATION+MB_YESNO+MB_DEFBUTTON2)=IdYe
s
then
begin
With AdoQuery1 do
begin
close;
SQL.clear;
SQl.add('DELETE FROM uslugakvartira WHERE id =
'+Dbgrid1.DataSource.DataSet.FieldByName('id').AsString);
EXECSQL;
end;
DBGrid1.DataSource.DataSet.Close;
DbGrid1.DataSource.DataSet.Open;
end;
end;
end;
118
procedure TKvartiraForm.BitBtn6Click(Sender: TObject);
begin
if not dbgrid2.DataSource.DataSet.FieldByName('id').IsNull then
begin
If MessageBox(Handle,PChar('Удалить
запись?'),PChar('Подтверждение'),MB_ICONINFORMATION+MB_YESNO+MB_DEFBUTTON2)=IdYe
s
then
begin
With AdoQuery1 do
begin
close;
SQL.clear;
SQl.add('DELETE FROM priborkvartira WHERE id =
'+Dbgrid2.DataSource.DataSet.FieldByName('id').AsString);
EXECSQL;
end;
DBGrid2.DataSource.DataSet.Close;
DbGrid2.DataSource.DataSet.Open;
end;
end;
end;
procedure TKvartiraForm.BitBtn7Click(Sender: TObject);
begin
DBGrid2.DataSource.DataSet.Close;
DbGrid2.DataSource.DataSet.Open;
end;
procedure TKvartiraForm.BitBtn5Click(Sender: TObject);
begin
MainForm.CreateSpravForm('Выберите прибор с помощью правой кнопки
мыши',label10.caption,DataM.Pribor,2, 'nam');
end;
procedure TKvartiraForm.BitBtn10Click(Sender: TObject);
begin
DBGrid4.DataSource.DataSet.Close;
DbGrid4.DataSource.DataSet.Open;
end;
procedure TKvartiraForm.BitBtn9Click(Sender: TObject);
begin
if not dbgrid4.DataSource.DataSet.FieldByName('id').IsNull then
begin
If MessageBox(Handle,PChar('Удалить
запись?'),PChar('Подтверждение'),MB_ICONINFORMATION+MB_YESNO+MB_DEFBUTTON2)=IdYe
s
then
begin
With AdoQuery1 do
begin
close;
SQL.clear;
SQl.add('DELETE FROM sobstvennik WHERE id =
'+Dbgrid4.DataSource.DataSet.FieldByName('id').AsString);
EXECSQL;
end;
DBGrid4.DataSource.DataSet.Close;
DbGrid4.DataSource.DataSet.Open;
119
end;
end;
end;
procedure TKvartiraForm.BitBtn8Click(Sender: TObject);
begin
MainForm.CreateSpravForm('Выберите собственника с помощью правой кнопки
мыши',label10.caption,abonent,3, 'FIO');
end;
procedure TKvartiraForm.BitBtn13Click(Sender: TObject);
begin
DBGrid3.DataSource.DataSet.Close;
DbGrid3.DataSource.DataSet.Open;
end;
procedure TKvartiraForm.BitBtn12Click(Sender: TObject);
begin
if not dbgrid3.DataSource.DataSet.FieldByName('id').IsNull then
begin
If MessageBox(Handle,PChar('Выписать
абонента?'),PChar('Подтверждение'),MB_ICONINFORMATION+MB_YESNO+MB_DEFBUTTON2)=Id
Yes
then
begin
With AdoQuery1 do
begin
close;
SQL.clear;
SQl.add('UPDATE propisk SET datepropend = :datepropend WHERE id =
'+DbGrid3.DataSource.DataSet.FieldByName('id').AsString);
Parameters.ParamByName('datepropend').Value:=now;
EXECSQL;
end;
DBGrid3.DataSource.DataSet.Close;
DbGrid3.DataSource.DataSet.Open;
end;
end;
end;
procedure TKvartiraForm.BitBtn11Click(Sender: TObject);
begin
MainForm.CreateSpravForm('Выберите прописываемого с помощью правой кнопки
мыши',label10.caption,abonent,4, 'FIO');
end;
procedure TKvartiraForm.BitBtn14Click(Sender: TObject);
begin
Showmessage('В списке приборов учета квартиры выберите нужный');
PageControl1.ActivePage:= tabsheet2;
n1.Visible:=true;
end;
procedure TKvartiraForm.N1Click(Sender: TObject);
var
p:string;
idusluga,idtarif, tekden, iduslugakvartira:integer;
npok,pok:extended;
tarif,nachisl:extended;
dataenter:TDateTime;
begin
120
If not DBGrid2.DataSource.DataSet.FieldByName('id').IsNull then
begin
if InputQuery('Ввод показаний прибора','Введите текущие показания для:
'+DBGrid2.DataSource.DataSet.FieldByName('PriborL').AsString,p) then
begin
if TryStrToFloat(p,pok) then
begin
npok:=DbGrid2.DataSource.DataSet.FieldByName('pokazanie').AsFloat;
idusluga:= DbGrid2.DataSource.DataSet.FieldByName('idusluga').AsInteger;
With AdoQuery1 do
begin
close;
SQl.clear;
SQl.add('SELECT tarif.idusluga, tarif.tarif, Max(tarif.dataenter) AS
Maxdataenter, tarif.id');
SQl.add('FROM (SELECTtarif.idusluga, Max(tarif.dataenter) AS Maxdataenter');
SQl.add('FROM tarif');
SQl.add('GROUP BY tarif.idusluga)AS tarifmax INNER JOIN tarif ON
(tarifmax.Maxdataenter = tarif.dataenter) AND (tarifmax.idusluga =
tarif.idusluga)');
SQl.add('GROUP BY tarif.idusluga, tarif.tarif, tarif.id');
SQL.add('HAVING (((tarif.idusluga)='+IntToStr(idusluga)+'))');
open;
end;
idtarif:=AdoQuery1.FieldByName('id').AsInteger;
tarif:=AdoQuery1.FieldByName('tarif.tarif').AsFloat;
nachisl:=(pok-npok)*tarif;
With AdoQuery1 do
begin
close;
SQl.Clear;
SQl.Add('SELECT priborkvartira.id, kvartira.id, usluga.id, uslugakvartira.id,
pribor.nam, kvartira.nomer, usluga.nam, priborkvartira.pokazanie');
SQl.add('FROM pribor INNER JOIN (usluga INNER JOIN ((kvartira INNER JOIN
priborkvartira ON kvartira.id = priborkvartira.idkvartira) INNER JOIN ');
SQl.add('uslugakvartira ON kvartira.id = uslugakvartira.idkvartira) ON usluga.id
= uslugakvartira.idusluga) ON (usluga.id = pribor.idusluga) AND (pribor.id =
priborkvartira.idpribor)');
SQl.add('WHERE priborkvartira.id =
'+DbGrid2.DataSource.DataSet.FieldByName('id').AsString);
open;
end;
if AdoQuery1.RecordCount<>0 then
iduslugakvartira:=AdoQuery1.FieldByName('uslugakvartira.id').AsInteger else
iduslugakvartira:=0;
With AdoQuery1 do
begin
close;
SQL.clear;
SQL.Add('INSERT INTO nachisl (iduslugakvartira, datenachisl, stoim, okazano,
summa, typenachisl) ');
SQL.add('VALUES ( :iduslugakvartira , :datenachisl , :stoim , :okazano, :summa,
:typenachisl )');
Parameters.ParamByName('iduslugakvartira').Value:=iduslugakvartira;
Parameters.ParamByName('datenachisl').Value:=now;
Parameters.ParamByName('stoim').Value:=tarif;
Parameters.ParamByName('okazano').Value:=pok-npok;
Parameters.ParamByName('summa').Value:=nachisl;
Parameters.ParamByName('typenachisl').Value:='Счетчик';
ExecSQL;
121
end;
With AdoQuery1 do
begin
close;
SQL.clear;
SQl.add('INSERT INTO pokasaniepribor (idpriborkvartira, pokazane, data)');
SQL.add('VALUES ( :idpriborkvartira, :pokazanie, :data )');
Parameters.ParamByName('idpriborkvartira').Value:=DbGrid2.DataSource.DataSet.Fie
ldByName('id').AsInteger;
Parameters.ParamByName('pokazanie').Value:=pok;
Parameters.ParamByName('data').Value:=now;
EXECSQL;
end;
With AdoQuery1 do
begin
close;
SQL.clear;
SQl.add('UPDATE priborkvartira SET pokazanie = :pok WHERE id =
'+DbGrid2.DataSource.DataSet.FieldByName('id').AsString);
Parameters.ParamByName('pok').Value:=pok;
EXECSQL;
end;
//тут было автоматическое увеличение входящего сальдо
{With AdoQuery1 do
begin
close;
SQl.clear;
SQl.Add('UPDATE uslugakvartira SET entersaldo = (entersaldo + :nachisl ) WHERE
idusluga = :idusluga AND idkvartira = '+label10.Caption);
Parameters.ParamByName('nachisl').Value:= nachisl;
Parameters.ParamByName('idusluga').Value:=idusluga;
EXECSQL;
end; }
ShowMessage('Показания приняты, начисления произведены');
Refleshalltables;
end
else
begin
showmessage('Необходимо ввести число');
end;
end;
end;
end;
end.

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

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