📄 sjcx_un.pas
字号:
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 + -