⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sjcx_un.pas

📁 布林电话收费管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
   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 + -