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

📄 untvlease.pas

📁 用delphi编写的数据库管理软件
💻 PAS
字号:
unit untvlease;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BillBase, FR_DSet, FR_DBSet, MSNPopUp, FR_Class, DB, DBClient,
  ActnList, Menus, Buttons, Grids, DBGridEh, StdCtrls, Mask, wwdbedit,
  ExtCtrls, DBCtrlsEh, wwcheckbox, wwdblook, DBCtrls;

type
  Tfrmvlease = class(TfrmBillBase)
    Label7: TLabel;
    Label8: TLabel;
    Label11: TLabel;
    DBMemo1: TDBMemo;
    MaskEdit1: TMaskEdit;
    wwDBLookupCombo1: TwwDBLookupCombo;
    wwDBEdit2: TwwDBEdit;
    Label6: TLabel;
    Label12: TLabel;
    wwCheckBox1: TwwCheckBox;
    wwDBEdit1: TwwDBEdit;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    Label9: TLabel;
    Label10: TLabel;
    wwDBEdit3: TwwDBEdit;
    SpeedButton1: TSpeedButton;
    Label13: TLabel;
    wwDBEdit4: TwwDBEdit;
    Label14: TLabel;
    wwCheckBox2: TwwCheckBox;
    wwDBEdit6: TwwDBEdit;
    Label15: TLabel;
    wwDBEdit7: TwwDBEdit;
    Label16: TLabel;
    DBDateTimeEditEh2: TDBDateTimeEditEh;
    Label17: TLabel;
    MaskEdit2: TMaskEdit;
    wwDBLookupCombo2: TwwDBLookupCombo;
    CDSType: TClientDataSet;
    CDSTypefname: TWideStringField;
    CDSTypefcode: TWideStringField;
    CDSTypefid: TAutoIncField;
    CDSTypefremark: TWideStringField;
    CDSDriver: TClientDataSet;
    CDSDriverfID: TAutoIncField;
    CDSDriverfCode: TWideStringField;
    CDSDriverfName: TWideStringField;
    CDSDriverfDeptCode: TWideStringField;
    CDSDriverfDriveID: TWideStringField;
    CDSDriverfSex: TWideStringField;
    CDSDriverfPosition: TWideStringField;
    CDSDriverfAddress: TWideStringField;
    CDSDriverfEmail: TWideStringField;
    CDSDriverfTel: TWideStringField;
    CDSDriverfMobile: TWideStringField;
    CDSDriverfBP: TWideStringField;
    CDSDriverfDegree: TWideStringField;
    CDSDriverfCollege: TWideStringField;
    CDSDriverfBirthAddress: TWideStringField;
    CDSDriverfBirthday: TDateTimeField;
    CDSDriverfInTime: TDateTimeField;
    CDSDriverfOutTime: TDateTimeField;
    CDSDriverfMoney: TBCDField;
    CDSDriverfStatus: TBooleanField;
    CDSDriverfNotes: TWideStringField;
    CDSDriverfPicture: TWideStringField;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure CDSMasterBeforePost(DataSet: TDataSet);
    procedure CDSMasterAfterScroll(DataSet: TDataSet);
    procedure MaskEdit1Exit(Sender: TObject);
    procedure MaskEdit2Exit(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure wwCheckBox2Click(Sender: TObject);
    procedure CDSMasterAfterPost(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmvlease: Tfrmvlease;

implementation

uses DataProcess, untCustomerSearch, Global, untLookupOrderLease,
  untvLeaseState;

{$R *.dfm}

procedure Tfrmvlease.FormCreate(Sender: TObject);
begin
  inherited;
  Maintable:='TvLease';
  MainView:='VvLease';
  DetailTable:='TvLeaseSub';
  DetailView:='VvLeaseSub';
  MKeyField:='fid';
  DkeyField:='fid';
  Relatkey:='fsn';
  iBillTypeID:=31;
  MasterField:='fno';
  CompanyNamefield:='fCustomerName';
  RemarkField:='fremark';
  SearchForm:=TfrmLookupOrderLease;
  StatusForm:=TfrmvLeaseState;
end;

procedure Tfrmvlease.FormDestroy(Sender: TObject);
begin
  inherited;
  frmvlease:=nil;
end;

procedure Tfrmvlease.CDSMasterBeforePost(DataSet: TDataSet);
begin
With CDSMaster do
Begin
if VarisNUll(FieldValues['fcustomerCode']) then
   Raise Exception.Create('客户代码不能为空 !');
if VarisNUll(FieldValues['fdate']) then
   Raise Exception.Create('租车日期不能为空 !');
if VarisNUll(FieldValues['freturndate']) then
   Raise Exception.Create('还车日期不能为空 !');
if VarisNUll(FieldValues['fmoney']) then
   Raise Exception.Create('租车压金不能为空 !');
end;

  inherited;
  CDSMaster.FieldByName('fTime').AsString:=MaskEdit1.Text;
  CDSMaster.FieldByName('fReturnTime').AsString:=MaskEdit2.Text;
end;

procedure Tfrmvlease.CDSMasterAfterScroll(DataSet: TDataSet);
begin
  inherited;
  if CDSMaster.fieldbyname('ftime').AsString<>'' then
  MaskEdit1.Text:=CDSMaster.fieldbyname('ftime').AsString
  else
  MaskEdit1.Text:='';

  if CDSMaster.fieldbyname('freturntime').AsString<>'' then
  MaskEdit2.Text:=CDSMaster.fieldbyname('freturntime').AsString
  else
  MaskEdit2.Text:='';
end;

procedure Tfrmvlease.MaskEdit1Exit(Sender: TObject);
begin
  inherited;
  try
  if Strtoint(copy(Maskedit1.Text,1,2))>=24 then
    begin
      messagedlg('输入值只能在范围 23:59 - 00:01 , 请重新输入 ! ',mtWarning,[mbok],0);
      Maskedit1.Text:='';
      Exit;
    end;
  if Strtoint(copy(Maskedit1.Text,3,2))>=60 then
    begin
      messagedlg('输入值只能在范围 23:59 - 00:01 , 请重新输入 ! ',mtWarning,[mbok],0);
      Maskedit1.Text:='';
      Exit;
    end;
  except
  end;
end;

procedure Tfrmvlease.MaskEdit2Exit(Sender: TObject);
begin
  inherited;
  try
  if Strtoint(copy(Maskedit2.Text,1,2))>=24 then
    begin
      messagedlg('输入值只能在范围 23:59 - 00:01 , 请重新输入 ! ',mtWarning,[mbok],0);
      Maskedit2.Text:='';
      Exit;
    end;
  if Strtoint(copy(Maskedit2.Text,3,2))>=60 then
    begin
      messagedlg('输入值只能在范围 23:59 - 00:01 , 请重新输入 ! ',mtWarning,[mbok],0);
      Maskedit2.Text:='';
      Exit;
    end;
  except
  end;
end;

procedure Tfrmvlease.FormShow(Sender: TObject);
begin
  inherited;
  GetsqlData(CDSType,'tRentType','fid','fid>0',20);
  Getsqldata(CDSdriver,'tEmployee','fid','fid>0',20);
  wwDBLookupCombo2.Enabled:=False;
end;

procedure Tfrmvlease.SpeedButton1Click(Sender: TObject);
var
  SearchCDS:TclientDataset;
begin
  inherited;
  openModalForm(TfrmCustomerSearch,self,tForm(frmCustomerSearch));
  if SearchReturnID=0 then
    Exit;
  try
    SearchCDS:=Tclientdataset.create(nil);
    Searchcds.FetchOnDemand:=False;
    GetsqlData(SearchCDS,'tcustomer','fid','fid='+vartosql(SearchReturnID),1);
    if SearchCDS.RecordCount > 0 then
      begin
        with CDSMaster do
          begin
            Fieldbyname('fCustomerID').AsInteger:=SearchCDS.fieldbyname('fID').AsInteger;
            Fieldbyname('fCustomercode').AsString:=SearchCDS.fieldbyname('fcode').asstring;
            Fieldbyname('fCustomerName').AsString:=SearchCDS.fieldbyname('fName').asstring;
            Fieldbyname('fCustomerAddress').AsString:=SearchCDS.fieldbyname('fAddress').asstring;
            Fieldbyname('fCustomerMobile').AsString:=SearchCDS.fieldbyname('fMobile').asstring;
          end;
      end;
  finally
    SearchCDS.Close;
    Searchcds.Free;
  end;
end;

procedure Tfrmvlease.wwCheckBox2Click(Sender: TObject);
begin
  inherited;
  if wwCheckBox2.Checked then
    wwDBLookupCombo2.Enabled:=True
    else
    wwDBLookupCombo2.Enabled:=False;
end;

procedure Tfrmvlease.CDSMasterAfterPost(DataSet: TDataSet);
begin
  inherited;
if FormStatus = 'Add' then
  WriteBalance(1,1,CDSMaster.fieldbyname('fno').AsString,self.Caption,
                  CDSMaster.fieldbyname('fCustomerID').AsInteger,
                  CDSMaster.fieldbyname('fRemark').AsString+'--租车压金',
                  0,0,0,0,CDSMaster.fieldbyname('fMoney').AsInteger,0,0,0,0);
if FormStatus = 'Edit' then
  WriteBalance(2,1,CDSMaster.fieldbyname('fno').AsString,self.Caption,
                  CDSMaster.fieldbyname('fCustomerID').AsInteger,
                  CDSMaster.fieldbyname('fRemark').AsString+'--租车压金',
                  0,0,0,0,CDSMaster.fieldbyname('fMoney').AsInteger,0,0,0,0);
end;

end.

⌨️ 快捷键说明

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