📄 ransom.pas
字号:
txtZip.Text:=tblHeadPostCode.Value ;
txtLinkman.Text :=tblHeadLinkman.Value ;
txtAddress.Text :=tblHeadPawnerAddress.Value ;
txtMonthRate.Text :=format('%8.1f',[tblHeadMonthRate.Value]);
txtFeeRate.Text :=tblHeadFeeRate.asstring; //format('%8.1f',[tblHeadFeeRate.Value]);
txtRate.Text:=format('%8.1f',[tblHeadMonthRateFee.asfloat]);
txtTotalPawnMoney.Text :=format('%8.1f',[tblHeadTotalPawnMoney.Value]);
txtServiceFee.Text :=format('%8.1f',[tblHeadSynthesizeFee.Value]);
txtRealPayMoney.Text :=format('%8.1f',[tblHeadRealPayMoney.Value]);
DecodeDate(tblHeadPawnBeginDate.Value ,BeginYear,BeginMonth,BeginDay);
DecodeDate(tblHeadPawnEndDate.Value ,EndYear,EndMonth,EndDay);
txtPawnBeginYear.Text :=inttostr(BeginYear);
txtPawnBeginMonth.Text :=inttostr(BeginMonth);
txtPawnBeginDay.Text :=inttostr(BeginDay);
txtPawnEndYear.Text :=inttostr(EndYear);
txtPawnEndMonth.Text :=inttostr(EndMonth);
txtPawnEndDay.Text :=inttostr(EndDay);
//再从细表查询此当票编号中取出当物信息放入当物栏中
QuerySql:='select PawnLineNum,PawnName,PawnCategory,PawnSpec,PawnNumber,';
QuerySql:=QuerySql+'AppriseValue,DiscountRate,PawnMoney from PawnDetail_Tbl ';
QuerySql:=QuerySql+ 'where PawnTicketCode=:PawnCode ';
QuerySql:=QuerySql+ ' and Status=''''';
dqDetailUn.Close;
dqDetailUn.Sql.Clear;
dqDetailUn.Sql.Add(QuerySql);
dqDetailUn.ParamByName('PawnCode').asstring:=trim(txtPawnCode.text);
//dqDetail.Prepare ;
dqDetailUn.Open;
if txtServiceRate.Visible=False then
begin
cmdOk.SetFocus;
end;
//dqDetail.UnPrepare ;
end
else //不是未赎,是否是其他状态
begin
ClearForm;
if tblHeadStatus.Value='赎回'then
begin
messagedlg(Msg.MsgBuyBuyed,mtWarning,[mbYes],0);
end;
if tblHeadStatus.Value='挂失'then
begin
messagedlg(Msg.MsgBuyLost,mtWarning,[mbYes],0);
end;
if tblHeadStatus.Value='处理'then
begin
messagedlg(Msg.MsgBuyDeadOutStock,mtWarning,[mbYes],0);
end;
end;
end
else
begin
messagedlg(Msg.MsgPawnNoExist,mtWarning,[mbYes],0);
txtPawnCode.SetFocus ;
end;
end;
end;
end;
except
exit;
end;
end;
procedure TfrmRansom.cmdCancelClick(Sender: TObject);
begin
ClearForm;
end;
procedure TfrmRansom.cmdOkClick(Sender: TObject);
var
frmBuyPay:TfrmBuyPay;
TotalPayMoney:Double;
RansomDate:TDateTime;
Year,Month,Day:word;
begin
//显示应付的金额
frmBuyPay:=TfrmBuyPay.Create(nil);
with frmBuyPay do
begin
if txtRate.Text='' then
txtRate.Text:='0';
if txtTimeOutMoney.Text='' then
txtTimeOutMoney.Text:='0';
TotalPayMoney:=strtofloat(txtRate.Text)+BuyMoney+strtofloat(txtTimeoutmoney.text);
lbMonthRate.Caption:=format('%8.1f',[strtofloat(txtRate.Text)]);
lbBuyMoney.Caption:=format('%8.1f',[BuyMoney]);
lbServiceFee.Caption:=format('%8.1f',[strtofloat(txtTimeOutMoney.Text)]);
lbTotalPay.Caption:=format('%8.1f',[TotalPayMoney]);
ShowModal ;
Free;
end;
DecodeDate(Now,Year,Month,Day);
//if messagedlg(Msg.MsgBuy,mtConfirmation,[mbYes,mbNo],0)=mrYes then
if BuyPay.CRansomMark=True then //如果确认赎回
begin
BuyPay.CRansomMark:=False;
RansomMark:=True;
//当票赎回日期
if txtSysYear.Text='' then
begin
txtSysYear.Value:=Year;
end;
if txtSysMonth.Text='' then
begin
txtSysMonth.Value:=Month;
end;
if txtSysDay.Text='' then
begin
txtSysDay.Value:=Day;
end;
RansomDate:=EncodeDate(txtSysYear.Value,txtSysMonth.Value,txtSysDay.Value);
staBuy.Caption:=Msg.StatusMsgBuyIn;
with dmPawnFrm do
begin
tblHead.GotoBookmark(HeadBookMark);
tblHead.Edit;
tblHeadStatus.Value :='赎回';
tblHeadCreateDate.Value:=RansomDate;
tblHead.Post;
//从库存中删除
tblStockpile.Open;
tblStockpile.IndexFieldNames:='PawnCode';
tblStockpile.SetKey;
tblStockpile.FieldByName('PawnCode').asstring:=tblHeadPawnTicketCode.Value;
if tblStockpile.GotoKey then
begin
tblStockpile.Delete;
end;
tblStockpile.Close;
tblHead.FreeBookmark(HeadBookMark);
end;
//将赎回的金额写入RansomMoney_Tbl
with dmPawnFrm do
begin
tblRansomMoney.Open;
tblRansomMoney.IndexFieldNames:='PawnTicketCode';
tblRansomMoney.SetKey ;
tblRansomMoney.FieldByName('PawnTicketCode').asstring:=txtPawnCode.Text;
if tblRansomMoney.GotoKey then
begin
tblRansomMoney.Edit;
end
else
begin
tblRansomMoney.Append;
tblRansomMoneyPawnTicketCode.Value:=self.txtPawnCode.Text;
end;
tblRansomMoneyMonthRate.Value:=format('%8.1f',[strtofloat(txtRate.Text)]);
tblRansomMoneyRansomMoney.Value:=format('%8.1f',[BuyMoney]);
tblRansomMoneySynFee.Value:=format('%8.1f',[strtofloat(txtServiceFee.Text)]);
tblRansomMoneyServiceMoney.Value:=format('%8.1f',[strtofloat(txtTimeOutMoney.Text)]);
tblRansomMoneyTotalPay.Value:=format('%8.1f',[TotalPayMoney]);
tblRansomMoneyRansomDate.Value:=RansomDate;
tblRansomMoney.Post;
tblRansomMoney.Close;
end;
staBuy.Caption:=Msg.StatusMsgBuyOver;
ClearForm;
//若是从续当中进入赎回的,则赎回完毕后自动退出赎当画面
if ReInputMark=True then
begin
ReInputMark:=False;
close;
end;
end
else //如未确认赎回
begin
staBuy.Caption:=Msg.StatusMsgBuyNoOver;
end;
end;
procedure TfrmRansom.txtServiceRateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
begin
if txtServiceRate.Text='' then
begin
txtServiceRate.Text:='0';
end;
TimeOutServiceMoney:=DaysLimit*BuyMoney
*(strtofloat(trim(txtServiceRate.text))/100);
lbTimeOutMoney.Visible :=True;
txtTimeOutMoney.Visible :=True;
txtTimeOutMoney.Text :=format('%8.1f',[TimeOutServiceMoney]);
cmdOk.SetFocus;
end;
end;
procedure TfrmRansom.txtSysYearKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Year,Month,Day:word;
begin
DecodeDate(Now,Year,Month,Day);
if key=VK_RETURN then
begin
if txtSysYear.Text='' then
begin
txtSysYear.Value:=Year;
txtSysMonth.SetFocus;
exit;
end;
if (txtSysYear.Value>txtSysYear.MaxValue)or
(txtSysYear.Value<txtSysYear.MinValue)then
begin
txtSysYear.Value:=Year;
end;
txtSysMonth.SetFocus;
end;
end;
procedure TfrmRansom.txtSysMonthKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Year,Month,Day:word;
begin
DecodeDate(Now,Year,Month,Day);
if key=VK_RETURN then
begin
if txtSysMonth.Text='' then
begin
txtSysMonth.Value:=Month;
txtSysDay.SetFocus;
exit;
end;
if (txtSysMonth.Value>txtSysMonth.MaxValue)or
(txtSysMonth.Value<txtSysMonth.MinValue)then
begin
txtSysMonth.Value:=Month;
end;
txtSysDay.SetFocus;
end;
end;
procedure TfrmRansom.txtSysDayKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Year,Month,Day:word;
begin
DecodeDate(Now,Year,Month,Day);
if key=VK_RETURN then
begin
if txtSysDay.Text='' then
begin
txtSysDay.Value:=Day;
//cmdSave.SetFocus;
exit;
end;
if (txtSysDay.Value>txtSysDay.MaxValue)or
(txtSysDay.Value<txtSysDay.MinValue)then
begin
txtSysDay.Value:=Day;
end;
//cmdSave.SetFocus;
end;
end;
procedure TfrmRansom.txtRateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
begin
cmdOk.SetFocus;
end;
end;
procedure TfrmRansom.txtTimeOutMoneyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
begin
cmdOk.SetFocus;
end;
end;
procedure TfrmRansom.cmdPrintClick(Sender: TObject);
var
frmPrint:TfrmPrint;
begin
frmPrint:=TfrmPrint.Create(nil);
PrintTicket.FpStatus:='赎回';
frmPrint.ShowModal;
frmPrint.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -