📄 newjzform.pas
字号:
unit newjzform;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, ExtCtrls, StdCtrls, Mask, Buttons, Db, DBTables, Spin,printers,
ComCtrls, Menus;
type
Tnewjz = class(TForm)
Bevel2: TBevel;
caljz: TStoredProc;
Q1: TQuery;
DBGrid1: TDBGrid;
q2: TQuery;
DataSource1: TDataSource;
s1: TStoredProc;
s3: TStoredProc;
Timer1: TTimer;
Panel3: TPanel;
hd: TMemo;
xd: TMemo;
Panel4: TPanel;
Panel5: TPanel;
Panel7: TPanel;
Label1: TLabel;
xfhdno: TEdit;
GroupBox4: TGroupBox;
man: TRadioButton;
woman: TRadioButton;
Panel1: TPanel;
Label2: TLabel;
czy: TMaskEdit;
dqDate: TDateTimePicker;
dqTime: TDateTimePicker;
Panel2: TPanel;
Panel8: TPanel;
GroupBox1: TGroupBox;
Label5: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label6: TLabel;
rm: TMaskEdit;
rcsm: TMaskEdit;
sm: TMaskEdit;
scsm: TMaskEdit;
xm: TMaskEdit;
hm: TMaskEdit;
dhf: TMaskEdit;
GroupBox2: TGroupBox;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label4: TLabel;
zk: TSpinEdit;
ym: TMaskEdit;
jj: TMaskEdit;
mcs: TMaskEdit;
jym: TMaskEdit;
yjm: TMaskEdit;
mm: TEdit;
GroupBox6: TGroupBox;
gzno: TComboBox;
mxf: TCheckBox;
mfj: TCheckBox;
jzfsname: TComboBox;
jzfs: TComboBox;
GroupBox3: TGroupBox;
Label3: TLabel;
rmgrid: TStringGrid;
mangrid: TStringGrid;
womangrid: TStringGrid;
lfdate: TDateTimePicker;
Panel9: TPanel;
BitBtn4: TBitBtn;
GroupBox5: TGroupBox;
rmmx: TRadioButton;
xfmx: TRadioButton;
dhmx: TRadioButton;
BitBtn5: TBitBtn;
Panel6: TPanel;
kh: TEdit;
Label9: TLabel;
sk: TMaskEdit;
Label10: TLabel;
ling: TMaskEdit;
GroupBox7: TGroupBox;
Label8: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
kcz: TEdit;
kxf: TEdit;
kye: TEdit;
GroupBox8: TGroupBox;
kyc: TEdit;
BitBtn7: TBitBtn;
GroupBox9: TGroupBox;
dy: TRadioButton;
RadioButton2: TRadioButton;
Label7: TLabel;
Label14: TLabel;
djdh: TLabel;
klb: TLabel;
StoredProc1: TStoredProc;
Query1: TQuery;
Query2: TQuery;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
czy1: TLabel;
CheckBox1: TCheckBox;
PopupMenu2: TPopupMenu;
N2: TMenuItem;
BitBtn6: TBitBtn;
BitBtn2: TBitBtn;
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
klx: TLabel;
BitBtn8: TBitBtn;
Label20: TLabel;
djq: TMaskEdit;
Query3: TQuery;
Query4: TQuery;
CheckBox2: TCheckBox;
Label26: TLabel;
lftime: TDateTimePicker;
Label27: TLabel;
djkh: TLabel;
Query5: TQuery;
Query6: TQuery;
procedure xfhdnoExit(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure zkChange(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure xfmxClick(Sender: TObject);
procedure rmmxClick(Sender: TObject);
procedure mcsExit(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure manClick(Sender: TObject);
procedure womanClick(Sender: TObject);
procedure xfhdnoEnter(Sender: TObject);
procedure manEnter(Sender: TObject);
procedure womanEnter(Sender: TObject);
procedure MaskEdit1Enter(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure jzfsnameChange(Sender: TObject);
procedure jzfsnameKeyPress(Sender: TObject; var Key: Char);
procedure lftimeEnter(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure rmgridDblClick(Sender: TObject);
procedure mangridDblClick(Sender: TObject);
procedure womangridDblClick(Sender: TObject);
procedure lfdateChange(Sender: TObject);
procedure lfdateExit(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure xfhdnoDblClick(Sender: TObject);
procedure xfhdnoKeyPress(Sender: TObject; var Key: Char);
procedure Panel6Click(Sender: TObject);
procedure Panel10DblClick(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure khDblClick(Sender: TObject);
procedure skChange(Sender: TObject);
procedure skKeyPress(Sender: TObject; var Key: Char);
procedure khExit(Sender: TObject);
procedure khKeyPress(Sender: TObject; var Key: Char);
procedure kycChange(Sender: TObject);
procedure kycKeyPress(Sender: TObject; var Key: Char);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure kczKeyPress(Sender: TObject; var Key: Char);
procedure N1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure gznoChange(Sender: TObject);
procedure mxfClick(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
newjz: Tnewjz;
paccount:string;
bbzz0,bbzz1,bbzz2:integer;
str:string;
implementation
uses dataproc, newdj, jzdprin,icdate, bkzl, qxrz,dzdwunit,
jzprint,hykdyunit;
{$R *.DFM}
var
plssex,fh,rzsj:string;
pleft,pmd:boolean;
rs:integer;
room,roomcs,san,sancs:double;
procedure execute;
var
mqtime,jltime,room0,room1:string;
begin
with newjz do
begin
{ Q1.Active :=false;
Q1.sql.clear;
Q1.sql.text:='select phname from phbook where sanname='''+'jltime'+'''';
Q1.open;
jltime:=Q1.Fields[0].asstring;
Q1.Active :=false;
Q1.sql.clear;}
{ source.Active :=false;
source.sql.clear;
source.sql.text:='select max(begindatetime) from calldata ';
source.open;
mqtime:=source.Fields[0].asstring;
source.Active :=false;
source.sql.clear; }
{ if trim(jltime)=trim(mqtime) then exit;
Q1.sql.text:='select roomno from room where status='''+'1'+''' or status='''+'4'+'''';
Q1.open;
room1:='';
while not Q1.Eof do
begin
if trim(room1)<>'' then room1:=room1+',';
if length(trim(Q1.Fields[0].asstring))=3 then
room1:=room1+'''8'+trim(Q1.Fields[0].asstring)+''''
else
room1:=room1+'''8'+copy(trim(Q1.Fields[0].asstring),2,3)+'''';
Q1.Next;
end;
Q1.Active :=false;
Q1.sql.clear;
Q1.sql.text:='select roomno from room where status='''+'0'+''' or status='''+'2'+''' or status='''+'3'+'''';
Q1.open;
room0:='';
while not Q1.Eof do
begin
if trim(room0)<>'' then room0:=room0+',';
if length(trim(Q1.Fields[0].asstring))=3 then
room0:=room0+'''8'+trim(Q1.Fields[0].asstring)+''''
else
room0:=room0+'''8'+copy(trim(Q1.Fields[0].asstring),2,3)+'''';
Q1.Next;
end; }
Q1.Active :=false;
Q1.sql.clear;
//mqtime:=formatdatetime('yyyy-mm-dd hh:mm:ss',now);
{ source.Active :=false;
source.sql.clear;
if (trim(room1)<>'') then // 住客房间
begin
source.sql.text:='select callingnumber,callednumber,begindatetime,duration,feestandard,surcharge,servicecharge,feetotal from calldata where callingnumber in ('+room1+') and Left(callednumber,1)='''+'0'+''' and begindatetime>:pbegtime and begindatetime<=:pendtime';
source.ParamByName('pbegtime').asdatetime:=strtodatetime(jltime);
source.ParamByName('pendtime').asdatetime:=strtodatetime(mqtime);
source.open;
while not source.Eof do
begin
Q1.Active:=false;
Q1.sql.Clear;
Q1.sql.add('insert into phonedb values(:proomno,:pextension,:pdftel,:pbegtime,:paddress,:pphmoney,:pagnomen,:pfwf,:phjmoney)');
rmno:=copy(source.fieldbyname('callingnumber').asstring,2,3);
if (copy(rmno,1,1)='0') or (copy(rmno,1,1)='1') then rmno:='1'+rmno;
Q1.ParamByName('proomno').asstring:=rmno;
Q1.ParamByName('pextension').asstring:=source.fieldbyname('callingnumber').asstring;
Q1.ParamByName('pdftel').asstring:=source.fieldbyname('callednumber').asstring;
Q1.ParamByName('paddress').asstring:=source.fieldbyname('duration').asstring;
Q1.ParamByName('pbegtime').asdatetime:=source.fieldbyname('begindatetime').asdatetime;
Q1.ParamByName('pphmoney').asfloat:=source.fieldbyname('feestandard').asfloat*0.01;
Q1.ParamByName('pagnomen').asfloat:=source.fieldbyname('surcharge').asfloat*0.01;
Q1.ParamByName('pfwf').asfloat:=source.fieldbyname('servicecharge').asfloat*0.01;
Q1.ParamByName('phjmoney').asfloat:=source.fieldbyname('feetotal').asfloat*0.01;
// showmessage(Q1.sql.Text);
Q1.Prepare;
Q1.ExecSQL ;
Q1.Active :=false;
Q1.sql.clear;
source.Next;
end;
source.Active :=false;
source.sql.clear;
end;
if (trim(room0)<>'') then
// 非住客房间
begin
source.sql.text:='select callingnumber,callednumber,begindatetime,duration,feestandard,surcharge,servicecharge,feetotal from calldata where callingnumber in ('+room0+') and Left(callednumber,1)='''+'0'+''' and begindatetime>:pbegtime and begindatetime<=:pendtime';
source.ParamByName('pbegtime').asdatetime:=strtodatetime(jltime);
source.ParamByName('pendtime').asdatetime:=strtodatetime(mqtime);
source.open;
while not source.Eof do
begin
Q1.Active:=false;
Q1.sql.Clear;
Q1.sql.add('insert into qtphonedb values(:proomno,:pextension,:pdftel,:pbegtime,:paddress,:pphmoney,:pagnomen,:pfwf,:phjmoney)');
rmno:=copy(source.fieldbyname('callingnumber').asstring,2,3);
if (copy(rmno,1,1)='0') or (copy(rmno,1,1)='1') then rmno:='1'+rmno;
Q1.ParamByName('proomno').asstring:=rmno;
Q1.ParamByName('pextension').asstring:=source.fieldbyname('callingnumber').asstring;
Q1.ParamByName('pdftel').asstring:=source.fieldbyname('callednumber').asstring;
Q1.ParamByName('paddress').asstring:=source.fieldbyname('duration').asstring;
Q1.ParamByName('pbegtime').asdatetime:=source.fieldbyname('begindatetime').asdatetime;
Q1.ParamByName('pphmoney').asfloat:=source.fieldbyname('feestandard').asfloat*0.01;
Q1.ParamByName('pagnomen').asfloat:=source.fieldbyname('surcharge').asfloat*0.01;
Q1.ParamByName('pfwf').asfloat:=source.fieldbyname('servicecharge').asfloat*0.01;
Q1.ParamByName('phjmoney').asfloat:=source.fieldbyname('feetotal').asfloat*0.01;
// showmessage(Q1.sql.Text);
Q1.Prepare;
Q1.ExecSQL ;
Q1.Active :=false;
Q1.sql.clear;
source.Next;
end;
source.Active :=false;
source.sql.clear;
Q1.sql.Clear;
Q1.Active :=false;
end;
Q1.SQL.text:='update phbook set phname='''+mqtime+''' where sanname='''+'jltime'+'''';
Q1.Prepare;
Q1.ExecSQL ;
Q1.Active :=false;
source.Active :=false; }
end;
end;
procedure formini;
var
i:integer;
begin
with newjz do
begin
bbzz0:=0;
bbzz1:=0;
bbzz2:=0;
// jzfsname.text:='';
// lfdate.mindate:=now-1;
jzfsname.Text:='';
czy1.Caption:='';
hd.Text:='';
xd.Text:='';
dqtime.time:=now;
dqdate.datetime:=now;
lftime.time:=now;
lfdate.date:=now;
rm.text:='0';
rcsm.text:='0';
sm.Text :='0';
scsm.text:='0';
xm.text:='0';
dhf.text:='0';
hm.text:='0';
SK.text:='0';
ym.text:='0';
yjm.text:='0';
jym.Text :='0';
djq.Text:='0';
zk.Value :=100;
// zk.Enabled:=true;
jj.text:='0';
mm.text:='0';
mcs.Text :='0';
kh.Text:='';
kcz.Text:='';
kxf.Text:='';
kye.Text:='';
klb.Caption:='';
kyc.Text:='';
// mcs.Enabled:=false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -