📄 untvreturn.pas
字号:
fieldbyname('fdriver').AsString:=CDSLease.fieldbyname('fdriver').AsString;
fieldbyname('fisdriver').AsBoolean:=CDSLease.fieldbyname('fisdriver').AsBoolean;
fieldbyname('frenttype').AsString:=CDSLease.fieldbyname('frenttype').AsString;
fieldbyname('fdate').AsDateTime:=CDSLease.fieldbyname('fdate').AsDateTime;
fieldbyname('ftime').AsString:=CDSLease.fieldbyname('ftime').AsString;
fieldbyname('freturndate').AsDateTime:=CDSLease.fieldbyname('freturndate').AsDateTime;
fieldbyname('freturntime').AsString:=CDSLease.fieldbyname('freturntime').AsString;
fieldbyname('fcustomercode').AsString:=CDSLease.fieldbyname('fcustomercode').AsString;
fieldbyname('fcustomername').AsString:=CDSLease.fieldbyname('fcustomername').AsString;
enterDetailData(CDSLease.fieldbyname('fsn').AsInteger);
if formStatus='Add' then
begin
VIPID:=CDSLease.fieldbyname('fcustomerID').AsInteger;
end;
end;
DBDateTimeEditEh1.SetFocus;
end;
end;
procedure TfrmVReturn.SetControlDatas;
var
I:integer;
ParentC:Tcomponent;
TMPCDS:TclientDataset;
begin
inherited;
ParentC:=self.FindComponent('DSMaster');
try
TMPCDS:=Tclientdataset.Create(nil);
TMPCDS.FetchOnDemand:=False;
GetsqlData(TMPCDS,'TTablefield','fid','ftableName='+vartosql(MainView),20);
if TMPCDS.RecordCount > 0 then
begin
TMPCDS.First;
while not TMPCDS.Eof do
begin
for i:=0 to GroupBox1.ControlCount - 1 do
begin
if (GroupBox1.Controls[i] is TwwDBEdit) then
begin
if Trim(UpperCase((GroupBox1.Controls[i] as TwwDBEdit).Hint))=Trim(UpperCase(TMPCDS.fieldbyname('fname').AsString)) then
begin
(GroupBox1.Controls[i] as TwwDBEdit).DataSource:=Tdatasource(ParentC);
(GroupBox1.Controls[i] as TwwDBEdit).DataField:=Trim(TMPCDS.fieldbyname('fname').AsString);
(GroupBox1.Controls[i] as TwwDBEdit).MaxLength:=TMPCDS.fieldbyname('flength').AsInteger;
end;
end;
if (GroupBox1.Controls[i] is TDBmemo) then
begin
if Trim(UpperCase((GroupBox1.Controls[i] as TDBmemo).Hint))=Trim(UpperCase(TMPCDS.fieldbyname('fname').AsString)) then
begin
(GroupBox1.Controls[i] as TDBmemo).DataSource:=Tdatasource(ParentC);
(GroupBox1.Controls[i] as TDBmemo).DataField:=Trim(TMPCDS.fieldbyname('fname').AsString);
(GroupBox1.Controls[i] as TDBmemo).MaxLength:=TMPCDS.fieldbyname('flength').AsInteger;
(GroupBox1.Controls[i] as TDBmemo).ScrollBars:=ssVertical;
end;
end;
if (GroupBox1.Controls[i] is TDBDateTimeEditEh) then
begin
if Trim(UpperCase((GroupBox1.Controls[i] as TDBDateTimeEditEh).Hint))=Trim(UpperCase(TMPCDS.fieldbyname('fname').AsString)) then
begin
(GroupBox1.Controls[i] as TDBDateTimeEditEh).DataSource:=Tdatasource(ParentC);
(GroupBox1.Controls[i] as TDBDateTimeEditEh).DataField:=Trim(TMPCDS.fieldbyname('fname').AsString);
end;
end;
if (GroupBox1.Controls[i] is TwwCheckBox) then
begin
if Trim(UpperCase((GroupBox1.Controls[i] as TwwCheckBox).Hint))=Trim(UpperCase(TMPCDS.fieldbyname('fname').AsString)) then
begin
(GroupBox1.Controls[i] as TwwCheckBox).DataSource:=Tdatasource(ParentC);
(GroupBox1.Controls[i] as TwwCheckBox).DataField:=Trim(TMPCDS.fieldbyname('fname').AsString);
end;
end;
end;
TMPCDS.Next;
end;
end;
finally
TMPCDS.Close;
TMPCDS.Free;
end;
end;
function TfrmVReturn.enterDetailData(icid: integer): Boolean;
var
DCDS:Tclientdataset;
begin
if icid=0 then
begin
Result:=False;
Exit;
end;
try
DCDS:=TclientDataset.Create(nil);
DCDS.FetchOnDemand:=False;
Getsqldata(DCDS,'vvleasesub','fid','fsn='+vartosql(ICID),10);
if DCDS.RecordCount > 0 then
begin
DCDS.First;
while not DCDS.Eof do
begin
with CDSDetail do
begin
if not (state in [dsInsert,dsEdit]) then append;
fieldbyname('fresid').AsInteger:=DCDS.fieldbyname('fresid').AsInteger;
fieldbyname('fcode').AsString:=DCDS.fieldbyname('fcode').AsString;
fieldbyname('fname').AsString:=DCDS.fieldbyname('fname').AsString;
fieldbyname('fmodel').AsString:=DCDS.fieldbyname('fmodel').AsString;
fieldbyname('fcolor').AsString:=DCDS.fieldbyname('fcolor').AsString;
fieldbyname('ffuel').AsString:=DCDS.fieldbyname('ffuel').AsString;
fieldbyname('fday').AsFloat:=DCDS.fieldbyname('fday').AsFloat;
fieldbyname('fprice').AsFloat:=DCDS.fieldbyname('fprice').AsFloat;
fieldbyname('foutk').AsFloat:=DCDS.fieldbyname('foutk').AsFloat;
fieldbyname('foutf').AsFloat:=DCDS.fieldbyname('foutf').AsFloat;
post;
end;
DCDS.Next;
end;
end;
finally
DCDS.Close;
DCDS.Free;
end;
Result:=True;
end;
procedure TfrmVReturn.DSMasterStateChange(Sender: TObject);
var
i:integer;
begin
inherited;
With groupbox1 do
for i:= 0 to ControlCount-1 do
if Controls[i] is TwwDBEdit then
(Controls[i] as TwwDBEdit).ReadOnly := True
else if Controls[i] is TDBMemo then
(Controls[i] as TDBMemo).ReadOnly := True
else if Controls[i] is TDBDateTimeEditEh then
(Controls[i] as TDBDateTimeEditEh).ReadOnly := True
else if Controls[i] is TSpeedButton then
(Controls[i] as TSpeedButton).enabled := True
else if Controls[i] is TMaskEdit then
(Controls[i] as TMaskEdit).enabled := True;
end;
procedure TfrmVReturn.GridEditButtonClick(Sender: TObject);
begin
exit;
inherited;
end;
procedure TfrmVReturn.acSaveExecute(Sender: TObject);
var
cmdstr:String;
cmdStr1:string;
begin
if FormStatus='Add' then
begin
if messagedlg(pchar('是否结清对应的租车单号'+wwDBEdit2.Text),mtConfirmation,[mbok,mbcancel],0)=mrok then
begin
cmdstr:='update tvlease set ffinishflag=1,ffinishdate='+
vartosql(SRNow())+',ffinishuser='+vartosql(DLLUcode)+
' where fno='+vartosql(wwDBEdit2.Text);
cexecsql(cmdStr);
end;
if ISVIP(VIPID) then
begin
if FormStatus='Add' then
consumeAmoount:=Trunc(CDSMaster.fieldbyname('freceipthire').asFloat/10);
if Existvip(GetVipid(vipid)) then
cmdStr1:='update tVipIntegral set ftimes=ftimes+1,fintegral=fintegral+'+vartosql(consumeAmoount)+' where fvipid='+vartosql(GetVipid(VIPID))
else
cmdStr1:='Insert into tVipIntegral(fvipid,fintegral,ftimes,fremark) values('+vartosql(GetVipid(VIPID))+','+vartosql(consumeAmoount)+',1,'+vartosql('最后更新时间'+srNow())+')';
cExecSql(cmdStr1);
end;
end;
inherited;
end;
procedure TfrmVReturn.acNewExecute(Sender: TObject);
begin
Getsqldata(CDSLease,'vVlease','fid','ffinishflag = 0 and fcancelFlag=0 ',20);
inherited;
end;
procedure TfrmVReturn.CDSMasterAfterPost(DataSet: TDataSet);
begin
inherited;
if FormStatus = 'Add' then
WriteBalance(1,2,CDSMaster.fieldbyname('fno').AsString,self.Caption,
VIPID,
CDSMaster.fieldbyname('fRemark').AsString+'--还车收款',
CDSMaster.fieldbyname('foverrunkmoney').AsFloat,
CDSMaster.fieldbyname('foverrtnfmoney').AsFloat,
CDSMaster.fieldbyname('foverruntmoney').AsFloat,
CDSMaster.fieldbyname('freceipthire').AsFloat,
0,
CDSMaster.fieldbyname('freturnimpawn').AsFloat,0,0,0);
if FormStatus = 'Edit' then
WriteBalance(2,2,CDSMaster.fieldbyname('fno').AsString,self.Caption,
VIPID,
CDSMaster.fieldbyname('fRemark').AsString+'--还车收款',
CDSMaster.fieldbyname('foverrunkmoney').AsFloat,
CDSMaster.fieldbyname('foverrtnfmoney').AsFloat,
CDSMaster.fieldbyname('foverruntmoney').AsFloat,
CDSMaster.fieldbyname('freceipthire').AsFloat,
0,
CDSMaster.fieldbyname('freturnimpawn').AsFloat,0,0,0);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -