📄 zonghe.pas
字号:
unit Zonghe;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Dialogs,
Grids, DBGrids, ComCtrls, Spin, ExtCtrls, DBCtrls, Buttons, Db, DBTables,
Provider;
type
TFormZongHe = class(TForm)
GroupBox1: TGroupBox;
ButtonStatic: TButton;
ButtonPrint: TButton;
ButtonClose: TButton;
DBGrid1: TDBGrid;
ComboBoxType: TComboBox;
ComboBoxColor: TComboBox;
CheckBoxType: TCheckBox;
CheckBoxColor: TCheckBox;
GroupBox2: TGroupBox;
Label7: TLabel;
Label8: TLabel;
DateTimePickerBegin: TDateTimePicker;
DateTimePickerEnd: TDateTimePicker;
GroupBox3: TGroupBox;
DBLookupComboBoxComp: TDBLookupComboBox;
GroupBox4: TGroupBox;
RadioButtonWeihuanJiLu: TRadioButton;
RadioButtonZuCheJiLu: TRadioButton;
GroupBox5: TGroupBox;
RadioButtonHuanCheJiLu: TRadioButton;
GroupBox6: TGroupBox;
Label2: TLabel;
SpinEditYiShangTianShu: TSpinEdit;
SpinEditYiXiaTianShu: TSpinEdit;
Label1: TLabel;
CheckBoxYiXiaTianShu: TCheckBox;
CheckBoxYishangTianShu: TCheckBox;
CheckBoxDanwei: TCheckBox;
CheckBoxWay: TCheckBox;
ComboBoxWay: TComboBox;
SpinEditYuQiYiShang: TSpinEdit;
Label4: TLabel;
SpinEditYuQiYiXia: TSpinEdit;
Label3: TLabel;
CheckBoxYuQiYiXia: TCheckBox;
CheckBoxYuQiYiShang: TCheckBox;
CheckBoxLocal: TCheckBox;
OpenDialogHuifu: TOpenDialog;
procedure ButtonCloseClick(Sender: TObject);
procedure ButtonPrintClick(Sender: TObject);
procedure ButtonStaticClick(Sender: TObject);
procedure CheckBoxDanweiExit(Sender: TObject);
procedure CheckBoxTypeExit(Sender: TObject);
procedure CheckBoxColorExit(Sender: TObject);
procedure CheckBoxWayClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure CheckBoxYiXiaTianShuClick(Sender: TObject);
procedure CheckBoxYishangTianShuClick(Sender: TObject);
procedure CheckBoxYuQiYiXiaClick(Sender: TObject);
procedure CheckBoxYuQiYiShangClick(Sender: TObject);
procedure SpinEditYiXiaTianShuChange(Sender: TObject);
procedure SpinEditYiShangTianShuChange(Sender: TObject);
procedure DateTimePickerBeginExit(Sender: TObject);
procedure DateTimePickerEndExit(Sender: TObject);
procedure SpinEditYuQiYiXiaChange(Sender: TObject);
procedure SpinEditYuQiYiShangChange(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ComboBoxTypeExit(Sender: TObject);
procedure ComboBoxColorExit(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure CheckBoxLocalClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormZongHe: TFormZongHe;
fromdate,todate:tdatetime;
style,color,day,company,site,BeginStr,EndStr:string;
LocalFlag:Integer;
implementation
uses huaxia,reyuqi,Login;
{$R *.DFM}
procedure TFormZongHe.ButtonCloseClick(Sender: TObject);
begin
Close;
end;
procedure TFormZongHe.ButtonPrintClick(Sender: TObject);
begin
yuqireport.quickrep1.Print;
end;
procedure TFormZongHe.ButtonStaticClick(Sender: TObject);
begin
Try
If CheckBoxLocal.Checked=False Then
Begin
With HuaXiaData.ZongHeQuery Do
Begin
Close;
Unprepare;
With Sql Do
Begin
Clear;
Add('select lease_car_info.comp_code,car_type,car_color,lease_way,bad_record_tag,begin_date,real_return_date,return_date,lease_car_info.note,site_name');
Add('from lease_car_info,site_info where lease_car_info.comp_code=:compcode and site_info.comp_code=:compcode');
If CheckBoxType.Checked=True Then
Add(' and car_type=:type');
If CheckBoxcolor.Checked=True Then
Add(' and car_color=:color');
If CheckBoxDanwei.Checked=True Then
Add(' and site_name=:sitename');
If CheckBoxWay.Checked=True Then
Add(' and lease_way=:way');
If CheckBoxYiXiaTianShu.Checked=True Then
Add(' and real_return_date-begin_date<=:yixia');
If CheckBoxYiShangTianShu.Checked=True Then
Add(' and real_return_date-begin_date>=:yishang');
If CheckBoxYuQiYiXia.Checked=True Then
Add(' and real_return_date-return_date<=:yuqiyixia');
If CheckBoxYuQiYiShang.Checked=True Then
Add(' and real_return_date-return_date>=:yuqiyishang');
If RadioButtonZuCheJiLu.Checked=True Then
Add(' and begin_date>=:begindate and begin_date<=:enddate');
If RadioButtonHuanCheJiLu.Checked=True Then
Add(' and real_return_date>=:begindate and real_return_date<=:enddate');
If RadioButtonWeihuanJiLu.Checked=True Then
Begin
Add(' and begin_date>=:begindate and begin_date<=:enddate');
Add(' and (real_return_date>=:enddate or bad_record_tag<>:flag)');
End;
End;
RequestLive:=False;
ParamByName('compcode').AsString:=Login.CodeComp;
If CheckBoxType.Checked=True Then
ParamByName('type').AsString:=Trim(ComboBoxType.text);
If CheckBoxcolor.Checked=True Then
ParamByName('color').AsString:=Trim(ComboBoxColor.text);
If CheckBoxDanwei.Checked=True Then
ParamByName('sitename').AsString:=DBLookupComboBoxComp.text;
If CheckBoxWay.Checked=True Then
ParamByName('way').AsString:=ComboBoxWay.text;
If CheckBoxYiXiaTianShu.Checked=True Then
ParamByName('yixia').Value:=SpinEditYiXiaTianShu.Value;
If CheckBoxYiShangTianShu.Checked=True Then
ParamByName('yishang').Value:=SpinEditYiShangTianShu.Value;
If CheckBoxYuQiYiXia.Checked=True Then
ParamByName('yuqiyixia').Value:=SpinEditYuQiYiXia.Value;
If CheckBoxYuQiYiShang.Checked=True Then
ParamByName('yuqiyishang').Value:=SpinEditYuQiYiShang.Value;
If RadioButtonWeihuanJiLu.Checked=True Then
ParamByName('flag').AsString:='00';
DateTimePickerBegin.Time:=StrToTime('0:00:00');
DateTimePickerEnd.Time:=StrToTime('23:59:59');
ParamByName('begindate').Value:=DateTimePickerBegin.DateTime;
ParamByName('enddate').Value:=DateTimePickerEnd.DateTime;
prepare;
Open;
End;
FormZongHe.Caption:='租车信息综合查询(满足查询条件的记录共有'+IntToStr(HuaXiaData.ZongHeQuery.RecordCount)+'条)';
End
Else
Begin
With HuaXiaData.BackupData Do
Begin
Active:=False;
If LocalFlag=0 Then
Begin
LocalFlag:=1;
if OpenDialogHuifu.Execute then
HuaXiaData.BackUpData.FileName:=OpenDialogHuiFu.FileName;
End;
Filtered:=False;
Filter:='';
DateTimePickerBegin.Time:=StrToTime('0:00:00');
DateTimePickerEnd.Time:=StrToTime('23:59:59');
DateTimeToString(BeginStr,'yyyy-mm-dd-hh-mm-ss',DateTimePickerBegin.DateTime);
DateTimeToString(EndStr,'yyyy-mm-dd-hh-mm-ss',DateTimePickerEnd.DateTime);
If RadioButtonZuCheJiLu.Checked=True Then
Filter:=('begin_date>=')+BeginStr+(' and begin_date<=')+EndStr;
If RadioButtonHuanCheJiLu.Checked=True Then
Filter:=('real_return_date>=')+BeginStr+(' and real_return_date<=')+EndStr;
If RadioButtonWeihuanJiLu.Checked=True Then
Begin
Filter:=('begin_date>=')+BeginStr+(' and begin_date<=')+EndStr;
Filter:=Filter+(' and (real_return_date>=')+EndStr+(' or bad_record_tag<>')+('00)');
End;
If CheckBoxType.Checked=True Then
Filter:=Filter+(' and car_type=')+Trim(ComboBoxType.text);
If CheckBoxcolor.Checked=True Then
Filter:=Filter+(' and car_color=')+Trim(ComboBoxColor.text);
If CheckBoxWay.Checked=True Then
Filter:=Filter+(' and lease_way=')+ComboBoxWay.text;
If CheckBoxYiXiaTianShu.Checked=True Then
Filter:=Filter+(' and real_return_date-begin_date<=')+SpinEditYiXiaTianShu.Text;
If CheckBoxYiShangTianShu.Checked=True Then
Filter:=Filter+(' and real_return_date-begin_date>=')+SpinEditYiShangTianShu.Text;
If CheckBoxYuQiYiXia.Checked=True Then
Filter:=Filter+(' and real_return_date-return_date<=')+SpinEditYuQiYiXia.Text;
If CheckBoxYuQiYiShang.Checked=True Then
Filter:=Filter+(' and real_return_date-return_date>=')+SpinEditYuQiYiShang.Text;
If Filter<>'' Then
Filtered:=True;
Active:=True;
End;
FormZongHe.Caption:='租车信息综合查询(满足查询条件的记录共有'+IntToStr(HuaXiaData.BackupData.RecordCount)+'条)';
End;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TFormZongHe.CheckBoxDanweiExit(Sender: TObject);
begin
if checkboxDanwei.checked=true then
Begin
HuaXiaData.TableSite.Active:=False;
HuaXiaData.TableSite.Filtered:=False;
HuaXiaData.TableSite.Filter:='comp_code='+Login.CodeComp;
HuaXiaData.TableSite.Filtered:=True;
HuaXiaData.TableSite.Active:=True;
DbLookupComboBoxComp.Enabled:=True;
End
else
Begin
DbLookupComboBoxComp.Enabled:=False;
HuaXiaData.TableSite.Filtered:=False;
HuaXiaData.TableSite.Active:=False;
End;
end;
procedure TFormZongHe.CheckBoxTypeExit(Sender: TObject);
begin
If CheckBoxType.Checked=True then
ComboBoxType.Enabled:=True
Else
Begin
ComboBoxType.Text:='';
ComboBoxType.Enabled:=False;
End;
end;
procedure TFormZongHe.CheckBoxColorExit(Sender: TObject);
begin
If CheckBoxColor.Checked=True Then
ComboBoxColor.Enabled:=True
Else
Begin
ComboBoxColor.Text:='';
ComboBoxColor.Enabled:=False;
End;
end;
procedure TFormZongHe.CheckBoxWayClick(Sender: TObject);
begin
If CheckBoxWay.Checked=True Then
ComboBoxWay.Enabled:=True
Else
Begin
ComboBoxWay.Text:='';
ComboBoxWay.Enabled:=False;
End;
end;
procedure TFormZongHe.FormActivate(Sender: TObject);
begin
Try
Caption:='租车信息综合查询';
RadioButtonZuCheJiLu.Checked:=True;
CheckBoxLocal.Checked:=False;
ComboBoxType.Items.LoadFromFile('Type.Dat');
ComboBoxColor.Items.LoadFromFile('Color.Dat');
CheckBoxLocal.Checked:=False;
LocalFlag:=0;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TFormZongHe.CheckBoxYiXiaTianShuClick(Sender: TObject);
begin
If CheckBoxYiXiaTianShu.Checked=True Then
SpinEditYiXiaTianShu.Enabled:=True
Else
SpinEditYiXiaTianShu.Enabled:=False;
end;
procedure TFormZongHe.CheckBoxYishangTianShuClick(Sender: TObject);
begin
If CheckBoxYiShangTianShu.Checked=True Then
SpinEditYiShangTianShu.Enabled:=True
Else
SpinEditYiShangTianShu.Enabled:=False;
end;
procedure TFormZongHe.CheckBoxYuQiYiXiaClick(Sender: TObject);
begin
If CheckBoxYuQiYiXia.Checked=True Then
SpinEditYuQiYiXia.Enabled:=True
Else
SpinEditYuQiYiXia.Enabled:=False;
end;
procedure TFormZongHe.CheckBoxYuQiYiShangClick(Sender: TObject);
begin
If CheckBoxYuQiYiShang.Checked=True Then
SpinEditYuQiYiShang.Enabled:=True
Else
SpinEditYuQiYiShang.Enabled:=False;
end;
procedure TFormZongHe.SpinEditYiXiaTianShuChange(Sender: TObject);
begin
If (SpinEditYiXiaTianShu.Value<SpinEditYiShangTianShu.Value) And (SpinEditYiShangTianShu.Enabled=True) Then
ShowMessage('租车天数上限应大于租车天数下限');
end;
procedure TFormZongHe.SpinEditYiShangTianShuChange(Sender: TObject);
begin
If (SpinEditYiXiaTianShu.Value<SpinEditYiShangTianShu.Value) And (SpinEditYiXiaTianShu.Enabled=True) Then
ShowMessage('租车天数上限应大于租车天数下限');
end;
procedure TFormZongHe.DateTimePickerBeginExit(Sender: TObject);
begin
If DateTimePickerEnd.DateTime<DateTimePickerBegin.DateTime Then
Begin
ShowMessage('终止时间应大于起始时间');
Exit;
End;
end;
procedure TFormZongHe.DateTimePickerEndExit(Sender: TObject);
begin
If DateTimePickerEnd.DateTime<DateTimePickerBegin.DateTime Then
Begin
ShowMessage('终止时间应大于起始时间');
Exit;
End;
end;
procedure TFormZongHe.SpinEditYuQiYiXiaChange(Sender: TObject);
begin
If (SpinEditYuQiYiXia.Value<SpinEditYuQiYiShang.Value) And (SpinEditYuQiYiShang.Enabled=True) Then
ShowMessage('逾期还车天数上限应大于逾期还车天数下限');
end;
procedure TFormZongHe.SpinEditYuQiYiShangChange(Sender: TObject);
begin
If (SpinEditYuQiYiXia.Value<SpinEditYuQiYiShang.Value) And (SpinEditYuQiYiXia.Enabled=True) Then
ShowMessage('逾期还车天数上限应大于逾期还车天数下限');
end;
procedure TFormZongHe.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Try
ComboBoxType.Items.SaveToFile('Type.Dat');
ComboBoxColor.Items.SaveToFile('Color.Dat');
HuaXiaData.ZongHeQuery.Close;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TFormZongHe.ComboBoxTypeExit(Sender: TObject);
begin
Try
If Copy(ComboBoxType.Text,1,1)<>' ' Then
Begin
if StrPos(Pchar(ComboBoxType.Items.Text),Pchar(' '+ComboBoxType.Text+' '))=Nil Then
ComboBoxType.Items.Add(' '+ComboBoxType.Text+' ');
End;
Except
;
End;
end;
procedure TFormZongHe.ComboBoxColorExit(Sender: TObject);
begin
Try
If Copy(ComboBoxColor.Text,1,1)<>' ' Then
Begin
if StrPos(Pchar(ComboBoxColor.Items.Text),Pchar(' '+ComboBoxColor.Text+' '))=Nil Then
ComboBoxType.Items.Add(' '+ComboBoxColor.Text+' ');
End;
Except
;
End;
end;
procedure TFormZongHe.FormKeyPress(Sender: TObject; var Key: Char);
begin
If key=#13 then { 判断是按执行键}
Begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
End;
end;
procedure TFormZongHe.CheckBoxLocalClick(Sender: TObject);
begin
Try
If CheckBoxLocal.Checked=True Then
Begin
HuaXiaData.ZongHeDataSource.DataSet:=HuaXiaData.BackUpData;
CheckBoxDanwei.Enabled:=False;
End
Else
Begin
HuaXiaData.ZongHeDataSource.DataSet:=HuaXiaData.ZongHeQuery;
CheckBoxDanwei.Enabled:=True;
End;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -