?? main.~pas
字號:
begin
close;
sql.Clear;
sql.add('select '''+formatdatetime('yyyymm',dtp1.date)+''' as 月份,a.客戶編號,a.客戶名稱,a.拼音字頭,a.順序號,0,0,b.名稱,0,0,case 特征碼一 when '''+inttostr(10000000)+''' then '''+inttostr(1)+''' else '''+inttostr(0)+''' end as 是否居光,');
sql.add('a.特征碼一,a.用戶性質,a.用戶性質1,0,備注,0 from gdf_dfsj'+formatdatetime('yyyymm',dtp1.date)+' a,bs_gdsda b where a.所編號=b.所編號 and a.臺區(qū)編號='''+''' and a.所編號 in ('''+inttostr(22)+''','''+inttostr(23)+''','''+inttostr(24)+''')');
sql.add(str);
open;
end;
if (recordcount>0) and (pos='') then
pos := '0';
if recordcount<=0 then
begin
Close;
SQL.Clear;
SQL.Add('select '''+formatdatetime('yyyymm',dtp1.date)+''' as 月份,a.客戶編號,a.客戶名稱,a.拼音字頭,a.順序號,0,0,b.名稱,0,d.抄表本名稱,case 特征碼一 when '''+inttostr(10000000)+''' then ''');
sql.add(inttostr(1)+''' else '''+inttostr(0)+''' end as 是否居光,a.特征碼一,a.用戶性質,a.用戶性質1,0,備注,0 from df_dfsj'+formatdatetime('yyyymm',dtp1.date)+' a,bs_gdsda b,df_zcda d ');
sql.add('where a.所編號=b.所編號 and a.臺區(qū)編號 is null and a.抄表本號=d.抄表本號 and d.年月='''+formatdatetime('yyyymm',dtp1.date)+''' and a.所編號 in ('''+inttostr(22)+''','''+inttostr(23)+''')');
SQL.Add(str);
Open;
end;
if (recordcount>0) and (pos='') then
pos := fieldbyname('抄表本名稱').asstring;
if recordcount>0 then
begin
if addr='' then
addr := '0';
if lname='' then
lname := '0';
if tname='' then
tname := '0';
if added3='' then
added3:='0';
id := fieldbyname('客戶編號').asstring;
nam := fieldbyname('客戶名稱').asstring;
namepy := fieldbyname('拼音字頭').asstring;
cid := fieldbyname('順序號').asstring;
sname := fieldbyname('名稱').asstring;
bname := fieldbyname('備注').asstring;
only := fieldbyname('是否居光').asstring;
user := '0';
added1 := fieldbyname('特征碼一').asstring;
added2 := fieldbyname('用戶性質').asstring;
added4 := fieldbyname('用戶性質1').asstring;
flag := '0';
addrpy := GetPYStr(addr);
end;
if recordcount<=0 then
begin
ShowMessage('無此用戶信息,請檢查月份、用戶編號、或用戶名稱是否正確');
exit;
end
else
date := formatdatetime('yyyymm',dtp1.date);
except
showmessage('查詢期間出現(xiàn)錯誤,請檢查月份是否正確且數(shù)據(jù)庫聯(lián)接正確。');
exit;
end;
with qry2 do
try
close;
sql.clear;
sql.add('select '''+date+''' as 月份,a.客戶編號,合計電量,退補電費,有功變損,變損電費,基本電費,調整電費,a.分類電量1,b.電量電價p1,分類金額1,a.分類電量5,b.電量電價p5,a.分類金額5,a.分類電量2,b.電量電價p2,a.分類金額2,結算金額,');
sql.add('集資金額1,結算金額,上月余額,本月余額,'''+inttostr(9999)+'-'+inttostr(12)+'-'+inttostr(30)+''' from df_dfsj'+formatdatetime('yyyymm',dtp1.date)+' a,df_cdjk b where b.id1=(select max(d.id1) from df_cdjk d where d.電價代碼=a.特征碼四 ');
sql.add('and d.年月='''+date+''') and a.所編號 in ('''+inttostr(22)+''','''+inttostr(23)+''')');
sql.add(str);
open;
if recordcount<=0 then
begin
close;
sql.clear;
sql.add('select '''+date+''' as 月份,a.客戶編號,合計電量,退補電費,有功變損,變損電費,基本電費,調整電費,a.分類電量1,b.電量電價p1,分類金額1,a.分類電量5,b.電量電價p5,a.分類金額5,a.分類電量2,b.電量電價p2,a.分類金額2,結算金額,集資金額1,結算金額,上月余額,');
sql.add('本月余額,'''+inttostr(9999)+'-'+inttostr(12)+'-'+inttostr(30)+''' from df_dfsj'+date+' a,df_cdjk b where b.id1=(select max(d.id1) from df_cdjk d where d.電價代碼=a.特征碼四 and d.年月='''+date+''') and a.所編號='''+inttostr(21)+''' and a.抄表本號='''+inttostr(60)+'''');
sql.add(str);
open;
end;
if recordcount<=0 then
begin
close;
sql.clear;
sql.add('select '''+date+''' as 月份,a.客戶編號,合計電量,退補電費,有功變損,變損電費,基本電費,調整電費,a.分類電量1,b.電量電價p1,分類金額1,a.分類電量5,b.電量電價p5,a.分類金額5,a.分類電量2,b.電量電價p2,a.分類金額2,結算金額,集資金額1,結算金額,上月余額,本月余額,'''+inttostr(9999));
sql.add('-'+inttostr(12)+'-'+inttostr(30)+''' from gdf_dfsj'+date+' a,df_cdjk b where b.id1=(select max(d.id1) from df_cdjk d where d.電價代碼=a.特征碼四 and d.年月='''+date+''') and a.所編號 in ('''+inttostr(22)+''',+'''+inttostr(23)+''','''+inttostr(24)+''') and 集資金額4=0');
sql.add(str);
open;
end;
if recordcount<=0 then
begin
close;
sql.Clear;
sql.Add('select '''+date+''' as 月份,a.客戶編號,合計電量,退補電費,有功變損,變損電費,基本電費,調整電費,a.分類電量1,b.電量電價p1,分類金額1,a.分類電量5,b.電量電價p5,(a.分類金額5+集資金額4) as 分類金額5,a.分類電量2,b.電量電價p2,a.分類金額2,結算金額,集資金額1,');
sql.add('結算金額,上月余額,本月余額,'''+inttostr(9999)+'-'+inttostr(12)+'-'+inttostr(30)+''' from gdf_dfsj'+date+' a,df_cdjk b where b.id1=(select max(d.id1) from df_cdjk d where d.電價代碼=a.特征碼四 and d.年月='''+date+''') and a.所編號 ');
sql.add('in ('''+inttostr(22)+''','''+inttostr(23)+''','''+inttostr(24)+''') and 用戶性質=''大工業(yè)'' and 集資金額4>0'+str);
open;
end;
if recordcount<=0 then
begin
close;
sql.Clear;
sql.add('select '''+date+''' as 月份,a.客戶編號,合計電量,退補電費,有功變損,變損電費,基本電費,調整電費,a.分類電量1,b.電量電價p1,分類金額1,a.分類電量5,b.電量電價p5,a.分類金額5,a.分類電量2,b.電量電價p2,(a.分類金額2+集資金額4) as 分類金額2,結算金額,集資金額1,');
sql.add('結算金額,上月余額,本月余額,'''+inttostr(9999)+'-'+inttostr(12)+'-'+inttostr(30)+''' from gdf_dfsj'+date+' a,df_cdjk b where b.id1=(select max(d.id1) from df_cdjk d where d.電價代碼=a.特征碼四 and d.年月='''+date+''') and a.所編號 in ('''+inttostr(22)+''','''+inttostr(23)+''','''+inttostr(24)+''') and 用戶性質=''一般工商業(yè)'' and 集資金額4>0');
sql.add(str);
open;
end;
if recordcount<=0 then
begin
close;
sql.clear;
sql.add('select '''+date+''' as 月份,a.客戶編號,合計電量,退補電費,有功變損,變損電費,基本電費,調整電費,a.分類電量1,b.電量電價p1,分類金額1,a.分類電量5,b.電量電價p5,a.分類金額5,a.分類電量2,b.電量電價p2,a.分類金額2,結算金額,集資金額1,結算金額,上月余額,本月余額,'''+inttostr(9999)+'-'+inttostr(12)+'-'+inttostr(30)+''' from gdf_dfsj'+date);
sql.add(' a,df_cdjk b where b.id1=(select max(d.id1) from df_cdjk d where d.電價代碼=a.特征碼四 and d.年月='''+date+''') and a.所編號 in ('''+inttostr(22)+''','''+inttostr(23)+''','''+inttostr(24)+''') and 集資金額4>0 and 用戶性質 not in (''一般工商業(yè)'',''大工業(yè)'')');
sql.add(str);
open;
end;
if recordcount>0 then
begin
term := '9999-12-30' ;
if trim(fieldbyname('合計電量').asstring)<>'' then
sum_a := fieldbyname('合計電量').asstring
else
sum_a := '0';
dra := '0';
if trim(fieldbyname('退補電費').asstring)<>'' then
repair_f := fieldbyname('退補電費').asstring
else
repair_f := '0';
power_a := '0';
power_lose := '0';
power_sum := '0';
useless_a := '0';
useless_lose := '0';
useless_sum := '0';
capacity_a := '0';
capacity_p := '0';
base_fee := fieldbyname('基本電費').asstring;
cos_fee := fieldbyname('調整電費').asstring;
tran_lose_a := fieldbyname('有功變損').asstring;
tran_lose_f := fieldbyname('變損電費').asstring;
life_a := fieldbyname('分類電量1').asstring;
life_p := fieldbyname('電量電價p1').asstring;
life_f := fieldbyname('分類金額1').asstring;
nlife_a := '0';
nlife_p := '0';
nlife_f := '0';
ind_a := fieldbyname('分類電量2').asstring;
ind_p := fieldbyname('電量電價p2').asstring;
ind_f := fieldbyname('分類金額2').asstring;
farm_a := '0';
farm_p := '0';
farm_f := '0';
trade_a := '0';
trade_p := '0';
trade_f := '0';
hind_a := fieldbyname('分類電量5').asstring;
hind_p := fieldbyname('電量電價p5').asstring;
hind_f := fieldbyname('分類金額5').asstring;
peak_a := '0';
peak_p := '0';
peak_f := '0';
norm_a := '0';
norm_p := '0';
norm_f := '0';
vale_a := '0';
vale_p := '0';
vale_f := '0';
other1_a := '0';
Other1_p := '0';
Other1_f := '0';
other2_a := '0';
Other2_p := '0';
Other2_f := fieldbyname('集資金額1').asstring;
other3_a := '0';
Other3_p := '0';
Other3_f := '0';
other4_a := '0';
Other4_p := '0';
Other4_f := '0';
other5_a := '0';
Other5_p := '0';
Other5_f := '0';
other6_a := '0';
Other6_p := '0';
Other6_f := '0';
other7_a := '0';
Other7_p := '0';
Other7_f := '0';
other8_a := '0';
Other8_p := '0';
Other8_f := '0';
other9_a := '0';
Other9_p := '0';
Other9_f := '0';
other10_a := '0';
Other10_p := '0';
Other10_f := '0';
if trim(fieldbyname('結算金額').asstring)<>'' then
sum_f := fieldbyname('結算金額').asstring
else
sum_f := '0';
should_charge := fieldbyname('結算金額').asstring;
write_back_flag := '0';
end;
if recordcount<=0 then
begin
ShowMessage('無此用戶信息,請檢查月份、用戶編號、或用戶名稱是否正確-');
exit;
end
except
showmessage('查詢期間出現(xiàn)錯誤,請檢查月份是否正確且數(shù)據(jù)庫聯(lián)接正確。');
end;
with qry3 do
try
close;
sql.clear;
sql.add('select '''+date+''' as 月份,a.客戶編號,a.電表編號,a.倍率,a.起碼,a.止碼,a.表量,CONVERT(float, 止碼)-CONVERT(float, 起碼) as 差數(shù),b.有功加度 from df_dbk'+date+' a,df_dfsj'+date+' b where a.客戶編號=b.客戶編號 and a.所編號=b.所編號 and b.所編號 ');
sql.add('in ('''+inttostr(22)+''','''+inttostr(23)+''') ');
sql.add(str);
sql.add('order by 電表編號');
open;
if recordcount<=0 then
begin
close;
sql.Clear;
sql.add('select '''+date+''' as 月份,a.客戶編號,a.電表編號,a.倍率,a.起碼,a.止碼,a.表量,CONVERT(float, 止碼)-CONVERT(float, 起碼) as 差數(shù),b.有功加度 from df_dbk'+date+''' a,df_dfsj'+date+' b where a.客戶編號=b.客戶編號 and b.所編號='''+inttostr(21)+''' ');
sql.add(' and b.抄表本號='''+inttostr(60)+''' ');
sql.add(str);
sql.add('order by 電表編號');
open;
end;
if recordcount<=0 then
begin
close;
sql.clear;
sql.add('select '''+date+''' as 月份,a.客戶編號,a.電表編號,a.倍率,a.起碼,a.止碼,a.表量,CONVERT(float, 止碼)-CONVERT(float, 起碼) as 差數(shù),b.有功加度 from gdf_dbk'+date+' a,gdf_dfsj'+date+' b where a.客戶編號=b.客戶編號 and a.所編號=b.所編號 and b.所編號 ');
sql.add('in ('''+inttostr(22)+''','''+inttostr(23)+''','''+inttostr(24)+''') ');
sql.add(str);
sql.add('order by 電表編號');
open;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -