📄 sjcx_un.pas
字号:
begin
bsskinmessage1.MessageDlg('查询不成功,可能的原因如下:'+CHR(13)+'1.该电话在本段时间没有发生业务'+chr(13)+'2.用户号码输入有误,请重新输入.',mtinformation,[mbok],0);
bsskinedit1.SetFocus;
end;
end;
procedure Tsjcx.bsSkinXFormButton2Click(Sender: TObject);
begin
bsskindateedit1.Date:=now;
bsskindateedit2.Date:=now;
bsskintimeedit1.Time:='00:00:00';
bsskintimeedit2.Time:='00:00:00';
bsskinedit1.Text:='';
bsskinedit1.SetFocus;
end;
procedure Tsjcx.bsSkinEdit8KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
bsskinxformbutton5.SetFocus;
end;
procedure Tsjcx.bsSkinXFormButton4Click(Sender: TObject);
begin
bsskindateedit3.Date:=now;
bsskindateedit4.Date:=now;
bsskintimeedit3.Time:='00:00:00';
bsskintimeedit4.Time:='00:00:00';
bsskinedit8.Text:='';
bsskinedit9.Text:='';
bsskinedit8.SetFocus;
end;
procedure Tsjcx.bsSkinXFormButton5Click(Sender: TObject);
var
datasour3,datasour4:tdatasource;
i,j,k:real;
begin
dm:=tdm.Create(nil);
with dm do
begin
q_a.Close;
q_a.SQL.Clear;
q_a.SQL.Add('select * from data_yw where (zj_tel>=:zj_tel1 and zj_tel<=:zj_tel2) and');
q_a.SQL.Add('(b_time>=:b_time and e_time<=:e_time)');
q_a.Parameters.ParamByName('zj_tel1').Value:=trim(bsskinedit8.Text);
q_a.Parameters.ParamByName('zj_tel2').Value:=trim(bsskinedit9.Text);
q_a.Parameters.ParamByName('b_time').Value:=strtodatetime(datetostr(bsskindateedit3.Date)+' '+bsskintimeedit3.Time);
q_a.Parameters.ParamByName('e_time').Value:=strtodatetime(datetostr(bsskindateedit4.Date)+' '+bsskintimeedit4.Time);
q_a.Prepared;
q_a.Open;
end;
if dm.q_a.Recordset.RecordCount>0 then
begin //如果有符合条件的数据
datasour3:=tdatasource.Create(nil);
datasour4:=tdatasource.Create(nil);
main.stu.Caption:='系统正进行分段数据的统计,请稍候......' ;
with dm do
begin
q_e.Close;
q_e.SQL.Clear;
q_e.SQL.Add('select ZJ_TEL as 主叫号码,BJ_TEL as 被叫号码,');
q_e.SQL.add('B_DATE as 开始日期,B_TIME as 开始时间,E_TIME as 结束时间,');
q_e.SQL.Add('round((e_time-b_time)*3600*24,2) as 通话时间秒,');
q_e.SQL.Add('TEL_UNIT as 单元,FL_NAME as 费类名称,TOTAL_MONEY as 总费用,');
q_e.SQL.Add('JBFL as 基本费率,USER_ID as 操作员工号 from DATA_YW');
q_e.SQL.Add(' where (zj_tel>=:zj_tel1 and zj_tel<=:zj_tel2) and');
q_e.SQL.Add('(b_time>=:b_time and e_time<=:e_time)');
q_e.Parameters.ParamByName('zj_tel1').Value:=trim(bsskinedit8.Text);
q_e.Parameters.ParamByName('zj_tel2').Value:=trim(bsskinedit9.Text);
q_e.Parameters.ParamByName('b_time').Value:=strtodatetime(datetostr(bsskindateedit3.Date)+' '+bsskintimeedit3.Time);
q_e.Parameters.ParamByName('e_time').Value:=strtodatetime(datetostr(bsskindateedit4.Date)+' '+bsskintimeedit4.Time);
q_e.Prepared;
q_e.Open;
q_f.Close;
q_f.SQL.Clear;
q_f.SQL.Add('select ');
q_f.SQL.Add('FL_NAME as 费类名称,sum(TOTAL_MONEY) as 总费用');
q_f.SQL.Add('from DATA_YW');
q_f.SQL.Add(' where (zj_tel>=:zj_tel1 and zj_tel<=:zj_tel2) and');
q_f.SQL.Add('(b_time>=:b_time and e_time<=:e_time)');
q_f.SQL.Add('group by FL_NAME ');
q_f.Parameters.ParamByName('zj_tel1').Value:=trim(bsskinedit8.Text);
q_f.Parameters.ParamByName('zj_tel2').Value:=trim(bsskinedit9.Text);
q_f.Parameters.ParamByName('b_time').Value:=strtodatetime(datetostr(bsskindateedit3.Date)+' '+bsskintimeedit3.Time);
q_f.Parameters.ParamByName('e_time').Value:=strtodatetime(datetostr(bsskindateedit4.Date)+' '+bsskintimeedit4.Time);
q_f.Prepared;
q_f.Open;
end;
datasour3.DataSet:=dm.q_e;
datasour4.DataSet:=dm.q_f;
bsskindbgrid3.DataSource:=datasour3;
bsskindbgrid4.DataSource:=datasour4;
dm.q_e.First;
main.stu.Caption:='系统正进行分段数据合计的统计,请稍候......' ;
while not dm.q_e.Eof do
begin
i:=i+dm.q_e.FieldValues['通话时间秒'] ;
j:=j+1;
k:=k+dm.q_e.FieldValues['总费用'] ;
dm.q_e.Next;
end;
dm.q_e.first;
bsskinedit5.Text:=floattostr(round(i/60))+'分钟';
bsskinedit6.Text:=floattostr(j);
bsskinedit7.Text:=floattostr(k);
main.stu.Caption:='系统分段数据统计完毕,可以正常使用......' ;
end //如果有符合条件的数据
else
begin
bsskinmessage1.MessageDlg('查询不成功,可能的原因如下:'+CHR(13)+'1.此区间的电话在本段时间没有发生业务'+chr(13)+'2.号码区间输入有误,请重新输入.',mtinformation,[mbok],0);
bsskinedit8.SetFocus;
end;
end;
procedure Tsjcx.bsSkinXFormButton7Click(Sender: TObject);
var
datasour5:tdatasource;
i,j,k:real;
begin
if bsskincombobox1.Text <>'' then
begin
dm:=tdm.Create(nil);
with dm do
begin
q_A.Close;
q_A.SQL.Clear;
q_A.SQL.Add('select * from data_yw where FL_NAME=:zj_tel and');
q_A.SQL.Add('b_time>=:b_time and e_time<=:e_time');
q_A.Parameters.ParamByName('zj_tel').Value:=trim(bsskincombobox1.Text);
q_A.Parameters.ParamByName('b_time').Value:=strtodatetime(datetostr(bsskindateedit5.Date)+' '+bsskintimeedit5.Time);
q_A.Parameters.ParamByName('e_time').Value:=strtodatetime(datetostr(bsskindateedit6.Date)+' '+bsskintimeedit6.Time);
q_A.Prepared;
q_A.Open;
end;
if dm.q_a.Recordset.RecordCount>0 then
begin //如果有符合条件的数据
main.stu.Caption:='系统正进行分类费用名称数据的统计,请稍候......' ;
datasour5:=tdatasource.Create(nil);
with dm do
begin
q_g.Close;
q_g.SQL.Clear;
q_g.SQL.Add('select ZJ_TEL as 主叫号码,BJ_TEL as 被叫号码,');
q_g.SQL.add('B_DATE as 开始日期,B_TIME as 开始时间,E_TIME as 结束时间,');
q_g.SQL.Add('round((e_time-b_time)*3600*24,2) as 通话时间秒,');
q_g.SQL.Add('TEL_UNIT as 单元,FL_NAME as 费类名称,TOTAL_MONEY as 总费用,');
q_g.SQL.Add('JBFL as 基本费率,USER_ID as 操作员工号 from DATA_YW');
q_g.SQL.Add(' where fl_name=:zj_tel and');
q_g.SQL.Add('b_time>=:b_time and e_time<=:e_time');
q_g.Parameters.ParamByName('zj_tel').Value:=trim(bsskincombobox1.Text);
q_g.Parameters.ParamByName('b_time').Value:=strtodatetime(datetostr(bsskindateedit5.Date)+' '+bsskintimeedit5.Time);
q_g.Parameters.ParamByName('e_time').Value:=strtodatetime(datetostr(bsskindateedit6.Date)+' '+bsskintimeedit6.Time);
q_g.Prepared;
q_g.Open;
end;
datasour5.DataSet:=dm.q_g;
bsskindbgrid5.DataSource:=datasour5;
dm.q_g.First;
while not dm.q_g.Eof do
begin
i:=i+dm.q_g.FieldValues['通话时间秒'] ;
j:=j+1;
k:=k+dm.q_g.FieldValues['总费用'] ;
dm.q_g.Next;
end;
dm.q_g.First;
bsskinedit13.Text:=floattostr(round(i/60))+'分钟';
bsskinedit14.Text:=floattostr(j);
bsskinedit15.Text:=floattostr(k);
main.stu.Caption:='费类名称分类数据统计完毕,可以正常使用......' ;
end //如果有符合条件的数据
else
begin
bsskinmessage1.MessageDlg('查询不成功,可能的原因如下:'+CHR(13)+'1.该费用类名称本段时间没有发生业务',mtinformation,[mbok],0);
bsskincombobox1.SetFocus;
end;
end
else
begin
bsskinmessage1.MessageDlg('查询不成功,可能的原因如下:'+CHR(13)+'1.费用类名称没有选择',mtinformation,[mbok],0);
bsskincombobox1.SetFocus;
end;
end;
procedure Tsjcx.bsSkinXFormButton6Click(Sender: TObject);
begin
bsskindateedit5.Date:=now;
bsskindateedit6.Date:=now;
bsskintimeedit5.Time:='00:00:00';
bsskintimeedit6.Time:='00:00:00';
bsskincombobox1.ItemIndex :=0;
bsskincombobox1.Text :='';
end;
procedure Tsjcx.bsSkinXFormButton9Click(Sender: TObject);
var
datasour7,datasour8:tdatasource;
i,j,k:real;
begin
dm:=tdm.Create(nil);
with dm do
begin
q_a.Close;
q_a.SQL.Clear;
q_a.SQL.Add('select * from data_yw where Bj_tel=:zj_tel and');
q_a.SQL.Add('b_time>=:b_time and e_time<=:e_time');
q_a.Parameters.ParamByName('zj_tel').Value:=trim(bsskinedit16.Text);
q_a.Parameters.ParamByName('b_time').Value:=strtodatetime(datetostr(bsskindateedit7.Date)+' '+bsskintimeedit7.Time);
q_a.Parameters.ParamByName('e_time').Value:=strtodatetime(datetostr(bsskindateedit8.Date)+' '+bsskintimeedit8.Time);
q_a.Prepared;
q_a.Open;
end;
if dm.q_a.Recordset.RecordCount>0 then
begin //如果有符合条件的数据
main.stu.Caption:='系统正进行被叫电话个人数据的统计,请稍候......' ;
datasour7:=tdatasource.Create(nil);
datasour8:=tdatasource.Create(nil);
with dm do
begin
q_1.Close;
q_1.SQL.Clear;
q_1.SQL.Add('select ZJ_TEL as 主叫号码,BJ_TEL as 被叫号码,');
q_1.SQL.add('B_DATE as 开始日期,B_TIME as 开始时间,E_TIME as 结束时间,');
q_1.SQL.Add('round((e_time-b_time)*3600*24,2) as 通话时间秒,');
q_1.SQL.Add('TEL_UNIT as 单元,FL_NAME as 费类名称,TOTAL_MONEY as 总费用,');
q_1.SQL.Add('JBFL as 基本费率,USER_ID as 操作员工号 from DATA_YW');
q_1.SQL.Add(' where bj_tel=:zj_tel and');
q_1.SQL.Add('b_time>=:b_time and e_time<=:e_time');
q_1.Parameters.ParamByName('zj_tel').Value:=trim(bsskinedit16.Text);
q_1.Parameters.ParamByName('b_time').Value:=strtodatetime(datetostr(bsskindateedit7.Date)+' '+bsskintimeedit7.Time);
q_1.Parameters.ParamByName('e_time').Value:=strtodatetime(datetostr(bsskindateedit8.Date)+' '+bsskintimeedit8.Time);
q_1.Prepared;
q_1.Open;
q_2.Close;
q_2.SQL.Clear;
q_2.SQL.Add('select ZJ_TEL as 主叫号码,');
q_2.SQL.Add('FL_NAME as 费类名称,sum(TOTAL_MONEY) as 总费用');
q_2.SQL.Add('from DATA_YW');
q_2.SQL.Add(' where bj_tel=:zj_tel and');
q_2.SQL.Add('b_time>=:b_time and e_time<=:e_time');
q_2.SQL.Add('group by FL_NAME,zj_tel ');
q_2.Parameters.ParamByName('zj_tel').Value:=trim(bsskinedit16.Text);
q_2.Parameters.ParamByName('b_time').Value:=strtodatetime(datetostr(bsskindateedit7.Date)+' '+bsskintimeedit7.Time);
q_2.Parameters.ParamByName('e_time').Value:=strtodatetime(datetostr(bsskindateedit8.Date)+' '+bsskintimeedit8.Time);
q_2.Prepared;
q_2.Open;
end;
datasour7.DataSet:=dm.q_1;
datasour8.DataSet:=dm.q_2;
bsskindbgrid6.DataSource:=datasour7;
bsskindbgrid7.DataSource:=datasour8;
dm.q_1.First;
while not dm.q_1.Eof do
begin
i:=i+dm.q_1.FieldValues['通话时间秒'] ;
j:=j+1;
k:=k+dm.q_1.FieldValues['总费用'] ;
dm.q_1.Next;
end;
dm.q_1.First;
bsskinedit10.Text:=floattostr(round(i/60))+'分钟';
bsskinedit11.Text:=floattostr(j);
bsskinedit12.Text:=floattostr(k);
main.stu.Caption:='被叫用户个人数据统计完毕,可以正常使用......' ;
end //如果有符合条件的数据
else
begin
bsskinmessage1.MessageDlg('查询不成功,可能的原因如下:'+CHR(13)+'1.该电话在本段时间没有发生业务'+chr(13)+'2.用户号码输入有误,请重新输入.',mtinformation,[mbok],0);
bsskinedit16.SetFocus;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -