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

📄 untvreturn.pas

📁 用delphi编写的数据库管理软件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit untVReturn;

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, DBCtrls, wwcheckbox, DBCtrlsEh, wwDialog, wwidlg, ADODB;

type
  TfrmVReturn = class(TfrmBillBase)
    GroupBox1: TGroupBox;
    Label7: TLabel;
    Label8: TLabel;
    Label16: TLabel;
    wwDBEdit8: TwwDBEdit;
    wwDBEdit5: TwwDBEdit;
    wwDBEdit1: TwwDBEdit;
    Label18: TLabel;
    Label9: TLabel;
    Label17: TLabel;
    wwDBEdit10: TwwDBEdit;
    wwDBEdit9: TwwDBEdit;
    wwDBEdit3: TwwDBEdit;
    Label15: TLabel;
    wwCheckBox2: TwwCheckBox;
    wwDBEdit7: TwwDBEdit;
    Label14: TLabel;
    wwDBEdit12: TwwDBEdit;
    wwCheckBox1: TwwCheckBox;
    Label12: TLabel;
    Label10: TLabel;
    wwDBEdit11: TwwDBEdit;
    wwDBEdit6: TwwDBEdit;
    Label11: TLabel;
    DBMemo1: TDBMemo;
    Label6: TLabel;
    DBMemo2: TDBMemo;
    Label13: TLabel;
    wwDBEdit2: TwwDBEdit;
    SpeedButton1: TSpeedButton;
    Label19: TLabel;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    Label20: TLabel;
    MaskEdit1: TMaskEdit;
    Label21: TLabel;
    wwDBEdit4: TwwDBEdit;
    Label22: TLabel;
    wwDBEdit13: TwwDBEdit;
    Label23: TLabel;
    wwDBEdit14: TwwDBEdit;
    wwDBEdit15: TwwDBEdit;
    Label24: TLabel;
    wwDBEdit16: TwwDBEdit;
    Label25: TLabel;
    CDSLease: TClientDataSet;
    wwLookupDialog1: TwwLookupDialog;
    CDSLeasefid: TAutoIncField;
    CDSLeasefno: TWideStringField;
    CDSLeasefsn: TIntegerField;
    CDSLeasefcreauser: TWideStringField;
    CDSLeasefcreadate: TDateTimeField;
    CDSLeasefmodiuser: TWideStringField;
    CDSLeasefmodidate: TDateTimeField;
    CDSLeasefcancelflag: TBooleanField;
    CDSLeasefcanceluser: TWideStringField;
    CDSLeasefcanceldate: TDateTimeField;
    CDSLeaseffinishflag: TBooleanField;
    CDSLeaseffinishuser: TWideStringField;
    CDSLeaseffinishdate: TDateTimeField;
    CDSLeasefremark: TWideStringField;
    CDSLeasefcustomerid: TIntegerField;
    CDSLeasefimpawncertificate: TWideStringField;
    CDSLeasefmoney: TBCDField;
    CDSLeasefisimpawnmoney: TBooleanField;
    CDSLeasefdriver: TWideStringField;
    CDSLeasefisdriver: TBooleanField;
    CDSLeasefrenttype: TWideStringField;
    CDSLeasefdate: TDateTimeField;
    CDSLeaseftime: TWideStringField;
    CDSLeasefreturndate: TDateTimeField;
    CDSLeasefreturntime: TWideStringField;
    CDSLeasefcustomercode: TWideStringField;
    CDSLeasefcustomername: TWideStringField;
    CDSLeasefcustomermobile: TWideStringField;
    CDSLeasefcustomeraddress: TWideStringField;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure CDSMasterBeforePost(DataSet: TDataSet);
    procedure CDSMasterAfterScroll(DataSet: TDataSet);
    procedure MaskEdit1Exit(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure DSMasterStateChange(Sender: TObject);
    procedure GridEditButtonClick(Sender: TObject);
    procedure acSaveExecute(Sender: TObject);
    procedure acNewExecute(Sender: TObject);
    procedure CDSMasterAfterPost(DataSet: TDataSet);
  private
    vipID:integer;
    CustomerID:integer;
    consumeAmoount:integer;
    procedure SetControlDatas;
    function enterDetailData(icid:integer):Boolean;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmVReturn: TfrmVReturn;

implementation

uses untLookupOrderLease, DataProcess, Global;

{$R *.dfm}

procedure TfrmVReturn.FormCreate(Sender: TObject);
begin
  inherited;
  VIPID:=0;
  consumeAmoount:=0;
  Maintable:='TvReturn';
  MainView:='VvReturn';
  DetailTable:='TvReturnSub';
  DetailView:='VvReturnSub';
  MKeyField:='fid';
  DkeyField:='fid';
  Relatkey:='fsn';
  iBillTypeID:=34;
  MasterField:='fno';
  CompanyNamefield:='fCustomerName';
  RemarkField:='fremark';
  SearchForm:=TfrmLookupOrderLease;
//  StatusForm:=TfrmvLeaseState;
end;

procedure TfrmVReturn.FormDestroy(Sender: TObject);
begin
  inherited;
  frmVReturn:=nil;
end;

procedure TfrmVReturn.CDSMasterBeforePost(DataSet: TDataSet);
begin
With CDSMaster do
Begin
if VarisNUll(FieldValues['fleaseno']) then
   Raise Exception.Create('租车单号不能为空 !');

if VarisNUll(FieldValues['ffactrdate']) then
   Raise Exception.Create('实际还车日期不能为空 !');

if Trim(MaskEdit1.Text)='' then
   Raise Exception.Create('实际还车时间不能为空 !');

if VarisNUll(FieldValues['freturnimpawn']) then
   Raise Exception.Create('退还租金不能为空 !');

if VarisNUll(FieldValues['freceipthire']) then
   Raise Exception.Create('所收租金不能为空 !');
end;

  inherited;
  CDSMaster.FieldByName('ffactrTime').AsString:=MaskEdit1.Text;

end;

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

procedure TfrmVReturn.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 TfrmVReturn.FormShow(Sender: TObject);
begin
  inherited;
  SetControlDatas;
end;

procedure TfrmVReturn.SpeedButton1Click(Sender: TObject);
begin
  inherited;
  if wwLookupDialog1.Execute then
    begin
      With CDSMaster do
        begin
          fieldbyname('fvleaseID').AsInteger:=CDSLease.fieldbyname('fid').AsInteger;
          fieldbyname('fleaseno').AsString:=CDSLease.fieldbyname('fno').AsString;
          fieldbyname('fnote').AsString:=CDSLease.fieldbyname('fremark').AsString;
          fieldbyname('fimpawncertificate').AsString:=CDSLease.fieldbyname('fimpawncertificate').AsString;
          fieldbyname('fmoney').AsFloat:=CDSLease.fieldbyname('fmoney').AsFloat;
          fieldbyname('fisimpawnmoney').AsBoolean:=CDSLease.fieldbyname('fisimpawnmoney').AsBoolean;

⌨️ 快捷键说明

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