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

📄 untmaintain.pas

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

interface

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

type
  TfrmMaintain = class(TfrmBaseEdit)
    wwDBEdit2: TwwDBEdit;
    Label3: TLabel;
    wwDBLookupCombo1: TwwDBLookupCombo;
    Label7: TLabel;
    Label6: TLabel;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    Label12: TLabel;
    wwDBLookupCombo2: TwwDBLookupCombo;
    Label4: TLabel;
    wwDBEdit1: TwwDBEdit;
    wwDBEdit6: TwwDBEdit;
    Label13: TLabel;
    Label8: TLabel;
    wwDBEdit3: TwwDBEdit;
    Label9: TLabel;
    wwDBEdit4: TwwDBEdit;
    CDSVehicle: TClientDataSet;
    CDSVehiclefcode: TWideStringField;
    CDSVehiclefname: TWideStringField;
    CDSVehiclefid: TAutoIncField;
    CDSVehiclefmodel: TWideStringField;
    CDSVehiclefcolor: TWideStringField;
    CDSVehicleffuel: TBCDField;
    CDSVehiclefengineno: TWideStringField;
    CDSVehiclefvehicleno: TWideStringField;
    CDSVehiclefprovider: TWideStringField;
    CDSVehiclefbuydate: TDateTimeField;
    CDSVehiclefsafeno: TWideStringField;
    CDSVehiclefsafetype: TWideStringField;
    CDSVehiclefsafecompany: TWideStringField;
    CDSVehiclefsafedate: TDateTimeField;
    CDSVehiclefsafelastdate: TDateTimeField;
    CDSVehiclefdriver: TWideStringField;
    CDSVehiclefbusinessno: TWideStringField;
    CDSVehiclefannexno: TWideStringField;
    CDSVehicleftwomaintenancestart: TDateTimeField;
    CDSVehicleftwomaintenancelast: TDateTimeField;
    CDSVehiclefdeposit: TBCDField;
    CDSVehiclefrentday: TBCDField;
    CDSVehiclefrentweek: TBCDField;
    CDSVehiclefrentmonth: TBCDField;
    CDSVehiclefkilometreday: TBCDField;
    CDSVehiclefreceipthour: TBCDField;
    CDSVehiclefreceiptkilometre: TBCDField;
    CDSVehiclefmaxkilometre: TBCDField;
    CDSVehiclefoutoil: TBCDField;
    CDSVehiclefhandle: TWideStringField;
    CDSVehiclefstate: TBooleanField;
    CDSVehiclefdesc: TWideStringField;
    CDSVehiclefremark: TWideStringField;
    CDSVehiclefpicture: TWideStringField;
    CDSVehiclefoutk: TBCDField;
    CDSVehiclefoutf: TBCDField;
    CDShandle: TClientDataSet;
    CDShandlefName: TWideStringField;
    CDShandlefCode: TWideStringField;
    CDShandlefID: TAutoIncField;
    CDShandlefDeptCode: TWideStringField;
    CDShandlefDriveID: TWideStringField;
    CDShandlefSex: TWideStringField;
    CDShandlefPosition: TWideStringField;
    CDShandlefAddress: TWideStringField;
    CDShandlefEmail: TWideStringField;
    CDShandlefTel: TWideStringField;
    CDShandlefMobile: TWideStringField;
    CDShandlefBP: TWideStringField;
    CDShandlefDegree: TWideStringField;
    CDShandlefCollege: TWideStringField;
    CDShandlefBirthAddress: TWideStringField;
    CDShandlefBirthday: TDateTimeField;
    CDShandlefInTime: TDateTimeField;
    CDShandlefOutTime: TDateTimeField;
    CDShandlefMoney: TBCDField;
    CDShandlefStatus: TBooleanField;
    CDShandlefNotes: TWideStringField;
    CDShandlefPicture: TWideStringField;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure acNewExecute(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure CDSBaseinfoBeforePost(DataSet: TDataSet);
    procedure wwDBLookupCombo1Change(Sender: TObject);
    procedure CDSBaseinfoAfterPost(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMaintain: TfrmMaintain;

implementation

uses DataProcess, Global;

{$R *.dfm}

procedure TfrmMaintain.FormCreate(Sender: TObject);
begin
  inherited;
    iFunctionID:=36;
    MainTable:='tMainTain';
    MainView:='vMainTain';
    KeyField:='fid';
    ReportName:='frMainTain.frf';
end;

procedure TfrmMaintain.FormDestroy(Sender: TObject);
begin
  inherited;
  frmMaintain:=nil;
end;

procedure TfrmMaintain.acNewExecute(Sender: TObject);
begin
  inherited;
  wwDBEdit2.SetFocus; 
end;

procedure TfrmMaintain.FormShow(Sender: TObject);
begin
  inherited;
  GetsqlData(CDSVehicle,'tVehicle','fid','fid>0',20);
  GetsqlData(CDSHandle,'tEmployee','fid','fid>0',20);
end;

procedure TfrmMaintain.CDSBaseinfoBeforePost(DataSet: TDataSet);
begin
  inherited;
with CDSBaseinfo do
begin
if VarisNUll(FieldValues['fcode']) then
   Raise Exception.Create('车名不能为空 !');
if VarisNUll(FieldValues['fmainCompany']) then
   Raise Exception.Create('维修公司不能为空 !');
if VarisNUll(FieldValues['fmainDate']) then
   Raise Exception.Create('维修日期不能为空 !');
if VarisNUll(FieldValues['fpayment']) then
   Raise Exception.Create('维修费用不能为空 !');
end;
end;

procedure TfrmMaintain.wwDBLookupCombo1Change(Sender: TObject);
begin
  inherited;
  if CDSBaseinfo.State in [dsEdit,dsInsert] then
    CDSBaseinfo.FieldByName('fVehicleID').AsInteger:=
        CDSVehicle.fieldbyname('fid').AsInteger;  
end;

procedure TfrmMaintain.CDSBaseinfoAfterPost(DataSet: TDataSet);
begin
  inherited;
if FormStatus = 'Add' then
  WriteBalance(1,4,CDSBaseinfo.fieldbyname('fno').AsString,self.Caption,
                  0,
                  CDSBaseinfo.fieldbyname('fRemark').AsString+'--车辆维修',
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  CDSBaseinfo.FieldByName('fpayment').AsFloat,
                  0,
                  0);
if FormStatus = 'Edit' then
  WriteBalance(2,4,CDSBaseinfo.fieldbyname('fno').AsString,self.Caption,
                  0,
                  CDSBaseinfo.fieldbyname('fRemark').AsString+'--经手人:'+
                  CDSBaseinfo.fieldbyname('fhandle').AsString,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  CDSBaseinfo.FieldByName('fpayment').AsFloat,
                  0,
                  0);
end;


end.

⌨️ 快捷键说明

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