📄 ufrminterrest1.pas
字号:
unit UfrmInterRest1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, U_child1_1, Mask, StdCtrls, Buttons, ExtCtrls, DosMove,
DBTables, DB, DBClient, Provider, ADODB, DBCtrls, Grids, DBGridEh,
wwdblook;
type
TfrmInterRest1 = class(TF_child1_1)
PanTop: TPanel;
Label5: TLabel;
Label23: TLabel;
Label24: TLabel;
BitBtn_query: TBitBtn;
Edtper_na: TEdit;
BitBtn1: TBitBtn;
EdtStartyymm: TMaskEdit;
Label14: TLabel;
Label15: TLabel;
DBEditRemark: TDBEdit;
Label26: TLabel;
MaskEdit1: TMaskEdit;
Label2: TLabel;
Label9: TLabel;
EdtACC_NO: TEdit;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
StaticText5: TStaticText;
StaticText6: TStaticText;
StaticText7: TStaticText;
StaticText8: TStaticText;
StaticText9: TStaticText;
StaticText10: TStaticText;
Shape1: TShape;
Shape2: TShape;
Shape3: TShape;
Label1: TLabel;
StaticText11: TStaticText;
StaticText12: TStaticText;
StaticText13: TStaticText;
StaticText14: TStaticText;
StaticText15: TStaticText;
StaticText16: TStaticText;
StaticText17: TStaticText;
StaticText18: TStaticText;
StaticText19: TStaticText;
StaticText20: TStaticText;
Shape4: TShape;
Label4: TLabel;
DBEdit23: TDBEdit;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
DBEdit27: TDBEdit;
DBEdit28: TDBEdit;
DBEdit29: TDBEdit;
DBEdit30: TDBEdit;
DBEdit31: TDBEdit;
DBEdit32: TDBEdit;
StaticText21: TStaticText;
StaticText22: TStaticText;
StaticText23: TStaticText;
StaticText24: TStaticText;
StaticText25: TStaticText;
StaticText26: TStaticText;
StaticText27: TStaticText;
StaticText28: TStaticText;
StaticText29: TStaticText;
StaticText30: TStaticText;
Shape5: TShape;
Shape6: TShape;
DBEdit33: TDBEdit;
Label6: TLabel;
Label7: TLabel;
DBEdit35: TDBEdit;
CheckBox1: TCheckBox;
ClientDataSet1ACC_NO: TStringField;
ClientDataSet1Cdate: TStringField;
ClientDataSet1serial_no: TStringField;
ClientDataSet1IN_OR_OUT: TStringField;
ClientDataSet1IN_money: TBCDField;
ClientDataSet1OUT_money: TBCDField;
ClientDataSet1add_date: TStringField;
ClientDataSet1add_user: TStringField;
ClientDataSet1edit_date: TStringField;
ClientDataSet1edit_user: TStringField;
ClientDataSet1rem_money: TBCDField;
ClientDataSet1Cre_man: TStringField;
ClientDataSet1Check_mk: TStringField;
ClientDataSet1Check_man: TStringField;
ClientDataSet1remark: TStringField;
ClientDataSet1IN_1: TStringField;
ClientDataSet1IN_2: TStringField;
ClientDataSet1IN_3: TStringField;
ClientDataSet1IN_4: TStringField;
ClientDataSet1IN_5: TStringField;
ClientDataSet1IN_6: TStringField;
ClientDataSet1IN_7: TStringField;
ClientDataSet1IN_8: TStringField;
ClientDataSet1IN_9: TStringField;
ClientDataSet1IN_10: TStringField;
ClientDataSet1OUT_1: TStringField;
ClientDataSet1OUT_2: TStringField;
ClientDataSet1OUT_3: TStringField;
ClientDataSet1OUT_4: TStringField;
ClientDataSet1OUT_5: TStringField;
ClientDataSet1OUT_6: TStringField;
ClientDataSet1OUT_7: TStringField;
ClientDataSet1OUT_8: TStringField;
ClientDataSet1OUT_9: TStringField;
ClientDataSet1OUT_10: TStringField;
ClientDataSet1R_1: TStringField;
ClientDataSet1R_2: TStringField;
ClientDataSet1R_3: TStringField;
ClientDataSet1R_4: TStringField;
ClientDataSet1R_5: TStringField;
ClientDataSet1R_6: TStringField;
ClientDataSet1R_7: TStringField;
ClientDataSet1R_8: TStringField;
ClientDataSet1R_9: TStringField;
ClientDataSet1R_10: TStringField;
EdtIN_10: TEdit;
EdtIN_9: TEdit;
EdtIN_8: TEdit;
EdtIN_5: TEdit;
EdtIN_7: TEdit;
EdtIN_6: TEdit;
EdtIN_2: TEdit;
EdtIN_4: TEdit;
EdtIN_3: TEdit;
EdtIN_1: TEdit;
EdtOUT_10: TEdit;
EdtOUT_9: TEdit;
EdtOUT_8: TEdit;
EdtOUT_5: TEdit;
EdtOUT_7: TEdit;
EdtOUT_6: TEdit;
EdtOUT_2: TEdit;
EdtOUT_4: TEdit;
EdtOUT_3: TEdit;
EdtOUT_1: TEdit;
BitBtn_Print: TBitBtn;
EdtEndyymm: TMaskEdit;
BitBtnCal: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure DBEditRemarkKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn_queryClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure MaskEdit1Exit(Sender: TObject);
procedure EdtACC_NOChange(Sender: TObject);
procedure ClientDataSet1CalcFields(DataSet: TDataSet);
procedure EdtStartyymmChange(Sender: TObject);
procedure ClientDataSet1AfterScroll(DataSet: TDataSet);
procedure DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn_PrintClick(Sender: TObject);
private
{ Private declarations }
Last_Record:Boolean ;
procedure refresh1;
procedure blank_Text;
public
{ Public declarations }
procedure DoInsert;override;
procedure DoEdit;override;
procedure DoGetData;override;
procedure DoDelete;override;
procedure DoSave;override;
procedure DoCancel;override;
end;
var
frmInterRest1: TfrmInterRest1;
frmFirst,confirm :boolean;
implementation
uses U_main,UDM,U_sele,user_func,fuct_server,ufrmreport;
{$R *.dfm}
procedure TfrmInterRest1.DoInsert;
begin
inherited;
if confirm =false then
begin
f_main.B_cancel.Click ;
exit ;
end ;
MaskEdit1.Text :=f_main.vTodayDate ;
MaskEdit1.Visible :=true;
DBEdit1.Visible :=false;
self.ClientDataSet1.FieldByName('ACC_NO').AsString := EdtACC_NO.Text ;
self.ClientDataSet1.FieldByName('Cdate').AsString := f_main.vTodayDate ;
self.ClientDataSet1.FieldByName('add_date').AsString :=f_main.vTodayDate ;
self.ClientDataSet1.FieldByName('add_user').AsString :=f_main.vuser_no ;
self.ClientDataSet1.FieldByName('Cre_man').AsString :=f_main.vuser_nm ;
self.blank_Text ;
MaskEdit1.SetFocus ;
end;
procedure TfrmInterRest1.DoEdit;
begin
DBEdit1.Enabled :=True;
DBEdit1.Visible :=True;
DBEdit2.Enabled :=True;
inherited;
if confirm =false then
begin
f_main.B_cancel.Click ;
exit ;
end ;
MaskEdit1.Visible :=true;
DBEdit1.Visible :=false;
DBEdit2.Enabled :=false;
MaskEdit1.Text := self.ClientDataSet1.FieldByName('Cdate').AsString ;
self.ClientDataSet1.FieldByName('edit_date').AsString :=f_main.vTodayDate ;
self.ClientDataSet1.FieldByName('edit_user').AsString :=f_main.vuser_no ;
end;
procedure TfrmInterRest1.DoGetData;
begin
inherited;
MaskEdit1.Visible :=false ;
DBEdit1.Visible :=true;
end;
procedure TfrmInterRest1.DoDelete;
begin
inherited;
self.blank_Text ;
MaskEdit1.Visible :=false ;
DBEdit1.Visible :=true;
end;
procedure TfrmInterRest1.DoCancel;
begin
inherited;
MaskEdit1.Visible :=false ;
DBEdit1.Visible :=true;
end;
//存档
procedure TfrmInterRest1.DoSave;
var Sqlstr:string;
nn :integer ;
vnum :string ;
vIN_money,vOUT_money,vREM_money,vOLD_IN_money,vOLD_OUT_money:real;
sIN_money,sOUT_money,sREM_money :string ;
TempAdo : TAdodataSet;
vIN_10,vIN_9,vIN_8,vIN_7,vIN_6,vIN_5,vIN_4,vIN_3,vIN_2,vIN_1 :string ;
vOUT_10,vOUT_9,vOUT_8,vOUT_7,vOUT_6,vOUT_5,vOUT_4,vOUT_3,vOUT_2,vOUT_1:string;
begin
if (self.ClientDataSet1.State=dsInsert) OR
(self.ClientDataSet1.State=dsEdit) then
begin
if (DBEdit1.Text ='') then
begin
showmessage('帐号不能为空,请重新输入!');
dbEdit1.SetFocus ;
exit ;
end ;
//存款金额
if EdtIN_10.Text='' then
vIN_10 :='0'
else
vIN_10 :=EdtIN_10.Text ;
if EdtIN_9.Text='' then
vIN_9 :='0'
else
vIN_9 :=EdtIN_9.Text ;
if EdtIN_8.Text='' then
vIN_8 :='0'
else
vIN_8 :=EdtIN_8.Text ;
if EdtIN_7.Text='' then
vIN_7 :='0'
else
vIN_7 :=EdtIN_7.Text ;
if EdtIN_6.Text='' then
vIN_6 :='0'
else
vIN_6 :=EdtIN_6.Text ;
if EdtIN_5.Text='' then
vIN_5 :='0'
else
vIN_5 :=EdtIN_5.Text ;
if EdtIN_4.Text='' then
vIN_4 :='0'
else
vIN_4 :=EdtIN_4.Text ;
if EdtIN_3.Text='' then
vIN_3 :='0'
else
vIN_3 :=EdtIN_3.Text ;
if EdtIN_2.Text='' then
vIN_2 :='0'
else
vIN_2 :=EdtIN_2.Text ;
if EdtIN_1.Text='' then
vIN_1 :='0'
else
vIN_1 :=EdtIN_1.Text ;
sIN_money :=vIN_10 + vIN_9 + vIN_8 + vIN_7 +vIN_6 + vIN_5 +
vIN_4 + vIN_3 +'.'+ vIN_2 + vIN_1 ;
vIN_money := StrToFloat(Trim(sIN_money));
//取款金额
if EdtOUT_10.Text='' then
vOUT_10 :='0'
else
vOUT_10 :=EdtOUT_10.Text ;
if EdtOUT_9.Text='' then
vOUT_9 :='0'
else
vOUT_9 :=EdtOUT_9.Text ;
if EdtOUT_8.Text='' then
vOUT_8 :='0'
else
vOUT_8 :=EdtOUT_8.Text ;
if EdtOUT_7.Text='' then
vOUT_7 :='0'
else
vOUT_7 :=EdtOUT_7.Text ;
if EdtOUT_6.Text='' then
vOUT_6 :='0'
else
vOUT_6 :=EdtOUT_6.Text ;
if EdtOUT_5.Text='' then
vOUT_5 :='0'
else
vOUT_5 :=EdtOUT_5.Text ;
if EdtOUT_4.Text='' then
vOUT_4 :='0'
else
vOUT_4 :=EdtOUT_4.Text ;
if EdtOUT_3.Text='' then
vOUT_3 :='0'
else
vOUT_3 :=EdtOUT_3.Text ;
if EdtOUT_2.Text='' then
vOUT_2 :='0'
else
vOUT_2 :=EdtOUT_2.Text ;
if EdtOUT_1.Text='' then
vOUT_1 :='0'
else
vOUT_1 :=EdtOUT_1.Text ;
sOUT_money :=vOUT_10 + vOUT_9 + vOUT_8 + vOUT_7 +vOUT_6 + vOUT_5 +
vOUT_4 + vOUT_3 +'.'+ vOUT_2 + vOUT_1 ;
vOUT_money := StrToFloat(Trim(sOUT_money));
//原存取款金额
if (self.ClientDataSet1.State=dsEdit) then
begin
sqlstr:='select IN_money,OUT_money FROM Deposit where ACC_NO='''+EdtACC_NO.Text+
''' AND serial_no='''+ DBEdit2.Text +''' ';
TempAdo := TAdodataSet.Create(nil);
try
TempAdo.Connection := DM.ADOConnection1 ;
TempAdo.CommandText := Sqlstr;
TempAdo.Prepared := True;
TempAdo.Open;
if NOT TempAdo.Eof then
begin
vOLD_IN_money :=TempAdo.fieldbyname('in_money').AsFloat ;
vOLD_out_money :=TempAdo.fieldbyname('out_money').AsFloat ;
end
else
begin
vOLD_IN_money :=0 ;
vOLD_out_money:=0 ;
end ;
finally
TempAdo.Free;
end;
end ;
if (self.ClientDataSet1.State=dsInsert) then
begin
vOLD_IN_money :=0 ;
vOLD_out_money:=0 ;
end ;
//余额
sqlstr:='select Rem_money from Balance where ACC_NO='''+EdtACC_NO.Text+''' ';
TempAdo := TAdodataSet.Create(nil);
try
TempAdo.Connection := DM.ADOConnection1 ;
TempAdo.CommandText := Sqlstr;
TempAdo.Prepared := True;
TempAdo.Open;
if TempAdo.Eof then
vREM_money :=0
else
vREM_money :=TempAdo.fieldbyname('Rem_money').AsFloat ;
finally
TempAdo.Free;
end;
vREM_money :=vREM_money - vOLD_IN_money + vIN_money
+ vOLD_OUT_money - vOUT_money ;
self.ClientDataSet1IN_money.Value := vIN_money ;
self.ClientDataSet1OUT_money.Value := vOUT_money ;
self.ClientDataSet1REM_money.Value := vREM_money ;
if CheckBox1.Checked then
begin
self.ClientDataSet1Check_mk.Value :='Y' ;
self.ClientDataSet1Check_man.Value :=f_main.vuser_nm ;
end
else
self.ClientDataSet1Check_mk.Value :='' ;
sqlstr:='select count(*) nn from Deposit where ACC_NO='''+EdtACC_NO.Text +
''' and Cdate='''+ MaskEdit1.Text+''' and serial_no='''+DBEdit2.Text+'''' ;
TempAdo := TAdodataSet.Create(nil);
try
TempAdo.Connection := DM.ADOConnection1 ;
TempAdo.CommandText := Sqlstr;
TempAdo.Prepared := True;
TempAdo.Open;
if (self.ClientDataSet1.State=dsInsert) then
begin
if TempAdo.FieldByName('nn').AsInteger >0 then
begin
MessageDlg('对不起该资料'+char(10)+'在你存档前已经存在.', mtInformation,[mbOk], 0);
f_main.B_cancel.Click;
exit ;
end;
end;
if (self.ClientDataSet1.State=dsEdit) then
begin
if TempAdo.FieldByName('nn').AsInteger=0 then
begin
MessageDlg('对不起该资料'+char(10)+'在你存档前已经不存在.'+char(10)+'请重新读取资料', mtInformation,[mbOk], 0);
f_main.B_cancel.Click;
exit ;
end;
end;
finally
TempAdo.Free;
end;
end;
inherited;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -