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

📄 sjcx_un.pas

📁 布林电话收费管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit sjcx_un;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BusinessSkinForm, bsSkinCtrls, ComCtrls, bsSkinTabs,
  bsSkinBoxCtrls, StdCtrls, Mask, bsSkinGrids, bsDBGrids, bsMessages,db;

type
  Tsjcx = class(TForm)
    bsSkinGroupBox1: TbsSkinGroupBox;
    bsBusinessSkinForm1: TbsBusinessSkinForm;
    bsSkinPageControl1: TbsSkinPageControl;
    bsSkinTabSheet1: TbsSkinTabSheet;
    bsSkinTabSheet2: TbsSkinTabSheet;
    bsSkinTabSheet3: TbsSkinTabSheet;
    bsSkinTabSheet4: TbsSkinTabSheet;
    bsSkinXFormButton1: TbsSkinXFormButton;
    bsSkinPanel1: TbsSkinPanel;
    bsSkinLabel1: TbsSkinLabel;
    bsSkinLabel2: TbsSkinLabel;
    bsSkinDateEdit1: TbsSkinDateEdit;
    bsSkinTimeEdit1: TbsSkinTimeEdit;
    bsSkinLabel3: TbsSkinLabel;
    bsSkinDateEdit2: TbsSkinDateEdit;
    bsSkinTimeEdit2: TbsSkinTimeEdit;
    bsSkinEdit1: TbsSkinEdit;
    bsSkinXFormButton2: TbsSkinXFormButton;
    bsSkinXFormButton3: TbsSkinXFormButton;
    bsSkinPanel2: TbsSkinPanel;
    bsSkinGroupBox2: TbsSkinGroupBox;
    bsSkinLabel4: TbsSkinLabel;
    bsSkinStdLabel1: TbsSkinStdLabel;
    bsSkinEdit2: TbsSkinEdit;
    bsSkinStdLabel2: TbsSkinStdLabel;
    bsSkinEdit3: TbsSkinEdit;
    bsSkinEdit4: TbsSkinEdit;
    bsSkinStdLabel3: TbsSkinStdLabel;
    bsSkinPageControl2: TbsSkinPageControl;
    s1: TbsSkinTabSheet;
    s2: TbsSkinTabSheet;
    bsSkinDBGrid1: TbsSkinDBGrid;
    bsSkinScrollBar1: TbsSkinScrollBar;
    bsSkinScrollBar2: TbsSkinScrollBar;
    bsSkinDBGrid2: TbsSkinDBGrid;
    bsSkinScrollBar3: TbsSkinScrollBar;
    bsSkinScrollBar4: TbsSkinScrollBar;
    bsSkinMessage1: TbsSkinMessage;
    bsSkinPanel3: TbsSkinPanel;
    bsSkinPanel4: TbsSkinPanel;
    bsSkinStdLabel4: TbsSkinStdLabel;
    bsSkinStdLabel5: TbsSkinStdLabel;
    bsSkinStdLabel6: TbsSkinStdLabel;
    bsSkinLabel5: TbsSkinLabel;
    bsSkinEdit5: TbsSkinEdit;
    bsSkinEdit6: TbsSkinEdit;
    bsSkinEdit7: TbsSkinEdit;
    bsSkinPanel5: TbsSkinPanel;
    bsSkinLabel6: TbsSkinLabel;
    bsSkinLabel7: TbsSkinLabel;
    bsSkinDateEdit3: TbsSkinDateEdit;
    bsSkinTimeEdit3: TbsSkinTimeEdit;
    bsSkinLabel8: TbsSkinLabel;
    bsSkinDateEdit4: TbsSkinDateEdit;
    bsSkinTimeEdit4: TbsSkinTimeEdit;
    bsSkinEdit8: TbsSkinEdit;
    bsSkinXFormButton4: TbsSkinXFormButton;
    bsSkinXFormButton5: TbsSkinXFormButton;
    bsSkinGroupBox3: TbsSkinGroupBox;
    bsSkinPageControl3: TbsSkinPageControl;
    bsSkinTabSheet5: TbsSkinTabSheet;
    bsSkinDBGrid3: TbsSkinDBGrid;
    bsSkinScrollBar5: TbsSkinScrollBar;
    bsSkinScrollBar6: TbsSkinScrollBar;
    bsSkinTabSheet6: TbsSkinTabSheet;
    bsSkinDBGrid4: TbsSkinDBGrid;
    bsSkinScrollBar7: TbsSkinScrollBar;
    bsSkinScrollBar8: TbsSkinScrollBar;
    bsSkinLabel9: TbsSkinLabel;
    bsSkinEdit9: TbsSkinEdit;
    bsSkinPanel7: TbsSkinPanel;
    bsSkinStdLabel10: TbsSkinStdLabel;
    bsSkinStdLabel11: TbsSkinStdLabel;
    bsSkinStdLabel12: TbsSkinStdLabel;
    bsSkinLabel11: TbsSkinLabel;
    bsSkinEdit13: TbsSkinEdit;
    bsSkinEdit14: TbsSkinEdit;
    bsSkinEdit15: TbsSkinEdit;
    bsSkinGroupBox4: TbsSkinGroupBox;
    bsSkinPageControl4: TbsSkinPageControl;
    bsSkinTabSheet7: TbsSkinTabSheet;
    bsSkinDBGrid5: TbsSkinDBGrid;
    bsSkinScrollBar9: TbsSkinScrollBar;
    bsSkinScrollBar10: TbsSkinScrollBar;
    bsSkinPanel6: TbsSkinPanel;
    bsSkinLabel10: TbsSkinLabel;
    bsSkinLabel12: TbsSkinLabel;
    bsSkinDateEdit5: TbsSkinDateEdit;
    bsSkinTimeEdit5: TbsSkinTimeEdit;
    bsSkinLabel13: TbsSkinLabel;
    bsSkinDateEdit6: TbsSkinDateEdit;
    bsSkinTimeEdit6: TbsSkinTimeEdit;
    bsSkinXFormButton6: TbsSkinXFormButton;
    bsSkinXFormButton7: TbsSkinXFormButton;
    bsSkinComboBox1: TbsSkinComboBox;
    bsSkinPanel8: TbsSkinPanel;
    bsSkinStdLabel7: TbsSkinStdLabel;
    bsSkinStdLabel8: TbsSkinStdLabel;
    bsSkinStdLabel9: TbsSkinStdLabel;
    bsSkinLabel14: TbsSkinLabel;
    bsSkinEdit10: TbsSkinEdit;
    bsSkinEdit11: TbsSkinEdit;
    bsSkinEdit12: TbsSkinEdit;
    bsSkinPanel9: TbsSkinPanel;
    bsSkinLabel15: TbsSkinLabel;
    bsSkinLabel16: TbsSkinLabel;
    bsSkinDateEdit7: TbsSkinDateEdit;
    bsSkinTimeEdit7: TbsSkinTimeEdit;
    bsSkinLabel17: TbsSkinLabel;
    bsSkinDateEdit8: TbsSkinDateEdit;
    bsSkinTimeEdit8: TbsSkinTimeEdit;
    bsSkinEdit16: TbsSkinEdit;
    bsSkinXFormButton8: TbsSkinXFormButton;
    bsSkinXFormButton9: TbsSkinXFormButton;
    bsSkinGroupBox5: TbsSkinGroupBox;
    bsSkinPageControl5: TbsSkinPageControl;
    bsSkinTabSheet8: TbsSkinTabSheet;
    bsSkinDBGrid6: TbsSkinDBGrid;
    bsSkinScrollBar11: TbsSkinScrollBar;
    bsSkinScrollBar12: TbsSkinScrollBar;
    bsSkinTabSheet9: TbsSkinTabSheet;
    bsSkinDBGrid7: TbsSkinDBGrid;
    bsSkinScrollBar13: TbsSkinScrollBar;
    bsSkinScrollBar14: TbsSkinScrollBar;
    procedure bsSkinXFormButton1Click(Sender: TObject);
    procedure bsSkinEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure bsSkinXFormButton3Click(Sender: TObject);
    procedure bsSkinXFormButton2Click(Sender: TObject);
    procedure bsSkinEdit8KeyPress(Sender: TObject; var Key: Char);
    procedure bsSkinXFormButton4Click(Sender: TObject);
    procedure bsSkinXFormButton5Click(Sender: TObject);
    procedure bsSkinXFormButton7Click(Sender: TObject);
    procedure bsSkinXFormButton6Click(Sender: TObject);
    procedure bsSkinXFormButton9Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  sjcx: Tsjcx;

implementation
 uses globe,dm_un,main_un;

{$R *.dfm}

procedure Tsjcx.bsSkinXFormButton1Click(Sender: TObject);
begin
close;
end;

procedure Tsjcx.bsSkinEdit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
   bsskinxformbutton3.SetFocus;
end;

procedure Tsjcx.FormCreate(Sender: TObject);
begin
 dm:=tdm.Create(nil);
 bsskindateedit1.Date:=now;
 bsskindateedit2.Date:=now;
  bsskindateedit3.Date:=now;
 bsskindateedit4.Date:=now;
 bsskindateedit5.Date:=now;
 bsskindateedit6.Date:=now;
 bsskindateedit7.Date:=now;
 bsskindateedit8.Date:=now;
 with dm do
  begin
   q_a.close;
   q_a.SQL.Clear;
   q_a.SQL.Add('select fl_name from data_yw group by fl_name');
   q_a.Prepared;
   q_a.Open;
  end;
  if dm.q_a.Recordset.RecordCount>0 then
   begin
     bsskincombobox1.Items.Clear;
     dm.q_a.First;
    while not dm.q_a.Eof do
     begin
       bsskincombobox1.Items.Add(dm.q_a.FieldValues['fl_name']);
       dm.q_a.Next;
     end;
   end;
end;

procedure Tsjcx.bsSkinXFormButton3Click(Sender: TObject);
var
 datasour1,datasour2: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_tel and');
   q_a.SQL.Add('b_time>=:b_time and e_time<=:e_time');
   q_a.Parameters.ParamByName('zj_tel').Value:=trim(bsskinedit1.Text);
   q_a.Parameters.ParamByName('b_time').Value:=strtodatetime(datetostr(bsskindateedit1.Date)+' '+bsskintimeedit1.Time);
   q_a.Parameters.ParamByName('e_time').Value:=strtodatetime(datetostr(bsskindateedit2.Date)+' '+bsskintimeedit2.Time);
   q_a.Prepared;
   q_a.Open;
  end;
  if dm.q_a.Recordset.RecordCount>0 then
   begin  //如果有符合条件的数据
   main.stu.Caption:='系统正进行个人数据的统计,请稍候......' ;
     datasour1:=tdatasource.Create(nil);
     datasour2:=tdatasource.Create(nil);
     with dm do
      begin
       q_b.Close;
       q_b.SQL.Clear;
       q_b.SQL.Add('select ZJ_TEL as 主叫号码,BJ_TEL as 被叫号码,');
       q_b.SQL.add('B_DATE as 开始日期,B_TIME as 开始时间,E_TIME as 结束时间,');
       q_b.SQL.Add('round((e_time-b_time)*3600*24,2) as 通话时间秒,');
       q_b.SQL.Add('TEL_UNIT as 单元,FL_NAME as 费类名称,TOTAL_MONEY as 总费用,');
       q_b.SQL.Add('JBFL as 基本费率,USER_ID as 操作员工号 from DATA_YW');
       q_b.SQL.Add(' where zj_tel=:zj_tel and');
       q_b.SQL.Add('b_time>=:b_time and e_time<=:e_time');
       q_b.Parameters.ParamByName('zj_tel').Value:=trim(bsskinedit1.Text);
       q_b.Parameters.ParamByName('b_time').Value:=strtodatetime(datetostr(bsskindateedit1.Date)+' '+bsskintimeedit1.Time);
       q_b.Parameters.ParamByName('e_time').Value:=strtodatetime(datetostr(bsskindateedit2.Date)+' '+bsskintimeedit2.Time);
       q_b.Prepared;
       q_b.Open;
       q_c.Close;
       q_c.SQL.Clear;
       q_c.SQL.Add('select ZJ_TEL as 主叫号码,');
       q_c.SQL.Add('FL_NAME as 费类名称,sum(TOTAL_MONEY) as 总费用');
       q_c.SQL.Add('from DATA_YW');
       q_c.SQL.Add(' where zj_tel=:zj_tel and');
       q_c.SQL.Add('b_time>=:b_time and e_time<=:e_time');
       q_c.SQL.Add('group by FL_NAME,zj_tel ');
       q_c.Parameters.ParamByName('zj_tel').Value:=trim(bsskinedit1.Text);
       q_c.Parameters.ParamByName('b_time').Value:=strtodatetime(datetostr(bsskindateedit1.Date)+' '+bsskintimeedit1.Time);
       q_c.Parameters.ParamByName('e_time').Value:=strtodatetime(datetostr(bsskindateedit2.Date)+' '+bsskintimeedit2.Time);
       q_c.Prepared;
       q_c.Open;
      end;
     datasour1.DataSet:=dm.q_b;
     datasour2.DataSet:=dm.q_c;
     bsskindbgrid1.DataSource:=datasour1;
     bsskindbgrid2.DataSource:=datasour2;
     dm.q_b.First;
     while not dm.q_b.Eof  do
      begin
        i:=i+dm.q_b.FieldValues['通话时间秒'] ;
        j:=j+1;
        k:=k+dm.q_b.FieldValues['总费用'] ;
        dm.q_b.Next;
      end;
      dm.q_b.First;
      bsskinedit2.Text:=floattostr(round(i/60))+'分钟';
      bsskinedit3.Text:=floattostr(j);
      bsskinedit4.Text:=floattostr(k);
      main.stu.Caption:='个人数据统计完毕,可以正常使用......' ;
   end   //如果有符合条件的数据
  else

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -