📄 converdead.~pa
字号:
unit ConverDead;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ExtCtrls, Grids, DBGrids,DB, Spin;
type
TfrmConverDead = class(TForm)
txtPawnCode: TEdit;
Label2: TLabel;
GroupBox1: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
txtName: TEdit;
txtAddress: TEdit;
txtPhone: TEdit;
txtZip: TEdit;
txtCerCode: TEdit;
txtLinkman: TEdit;
cmbCerName: TComboBox;
GroupBox2: TGroupBox;
dbgDetail: TDBGrid;
Panel2: TPanel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
Label10: TLabel;
txtPawnBeginYear: TEdit;
txtPawnBeginMonth: TEdit;
txtPawnBeginDay: TEdit;
txtPawnEndYear: TEdit;
txtPawnEndMonth: TEdit;
txtPawnEndDay: TEdit;
Panel1: TPanel;
Label15: TLabel;
Label16: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
txtMonthRate: TEdit;
txtFeeRate: TEdit;
txtTotalPawnMoney: TEdit;
txtServiceFee: TEdit;
txtRealPayMoney: TEdit;
cmdSave: TButton;
cmdCancel: TButton;
cmdExit: TButton;
staConver: TStaticText;
Label1: TLabel;
txtSysYear: TSpinEdit;
Label14: TLabel;
txtSysMonth: TSpinEdit;
Label17: TLabel;
txtSysDay: TSpinEdit;
Label18: TLabel;
procedure txtPawnCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cmdExitClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cmdSaveClick(Sender: TObject);
procedure cmdCancelClick(Sender: TObject);
procedure txtSysYearKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtSysMonthKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtSysDayKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
procedure ClearForm;
public
{ Public declarations }
end;
var
frmConverDead: TfrmConverDead;
implementation
uses dmPawn, Msg;
{$R *.DFM}
var
HeadBookMark:TBookMark;
Status:String;
ConverMark:Boolean; //判断是否允许转为绝当(只有逾期的当票才允许转换)
//清空画面
procedure TfrmConverDead.ClearForm ;
begin
txtpawncode.text:='';
txtName.Text :='';
cmbCerName.Text :='';
txtCerCode.Text :='';
txtAddress.Text :='';
txtPhone.Text :='';
txtZip.Text :='';
txtLinkman.Text :='';
txtmonthrate.text:='';
txtfeerate.text:='';
txttotalpawnmoney.text:='';
txtservicefee.text:='';
txtrealpaymoney.text:='';
txtpawnbeginyear.text:='';
txtpawnbeginmonth.text:='';
txtpawnbeginday.text:='';
txtpawnendyear.text:='';
txtpawnendmonth.text:='';
txtpawnendday.text:='';
dmPawnFrm.dqDetail.Close;
txtpawncode.setfocus;
end;
procedure TfrmConverDead.txtPawnCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
QuerySql:string;
BeginYear,EndYear,BeginMonth,EndMonth:word;
BeginDay,EndDay:word;
DaysLimit:integer;
begin
if key=VK_RETURN then
begin
if cmdCancel.Enabled=True then
cmdCancel.Enabled:=False;
if cmdSave.Enabled=False then
cmdSave.Enabled:=True;
staConver.Caption:='';
if txtPawnCode.Text='' then
begin
messagedlg(Msg.MsgPawnCodeInput,mtWarning,[mbYes],0);
txtPawnCode.SetFocus ;
end
else
begin
with dmPawnFrm do
begin
tblHead.Open;
tblHead.IndexFieldNames:='PawnTicketCode';
tblHead.SetKey ;
tblHead.FieldByName('PawnTicketCode').AsString:=trim(txtPawnCode.text);
if tblHead.GotoKey then
begin
HeadBookMark:=tblHead.GetBookmark ;
if (tblHeadStatus.Value ='未赎') or
(tblHeadStatus.Value='解挂') or
(tblHeadStatus.Value='半处')then
begin
Status:=tblHeadStatus.Value;
//QueryPawnCode:=trim(txtPawnCode.text);
DaysLimit:=Round(Now-tblHeadPawnEndDate.Value);
if DaysLimit<0 then
begin
staConver.Caption:=Msg.StatusBuyOnline;
ConverMark:=False;
end;
if (DaysLimit>=1) and (DaysLimit<=10) or (DaysLimit>10)then
begin
staConver.Caption:=Msg.StatusBuyTimeOut;
ConverMark:=True;
end;
//if DaysLimit>10 then
if tblHeadStatus.Value='绝当' then
begin
ConverMark:=True;
staConver.Caption:=Msg.StatusBuyDeadPawn;
end;
//将客户信息从头表中取出放入当户栏中
txtName.Text :=tblHeadPawnerName.Value ;
cmbCerName.Text :=tblHeadCertificateName.Value ;
txtCerCode.Text :=tblHeadCertificateCode.Value;
txtPhone.Text :=tblHeadTelephoneCode.Value ;
txtZip.Text:=tblHeadPostCode.Value ;
txtLinkman.Text :=tblHeadLinkman.Value ;
txtAddress.Text :=tblHeadPawnerAddress.Value ;
txtMonthRate.Text :=format('%8.1f',[tblHeadMonthRate.Value]);
txtFeeRate.Text :=format('%8.1f',[tblHeadFeeRate.Value]);
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,';
QuerySql:=QuerySql+'PawnNumber,AppriseValue,DiscountRate,PawnMoney from PawnDetail_Tbl ';
QuerySql:=QuerySql+ 'where True and Status='''' ';//=:Status ';
dqDetail.Close;
dqDetail.Sql.Clear;
QuerySql:=QuerySql+ ' and PawnTicketCode=:PawnCode';
dqDetail.Sql.Add(QuerySql);
//dqDetail.ParamByName('Status').Asstring:='';
dqDetail.ParamByName('PawnCode').Asstring:=trim(txtPawnCode.text);
dqDetail.Open;
end
else
begin
ClearForm;
//messagedlg(Msg.MsgModifyInfo,mtWarning,[mbYes],0);
if tblHeadStatus.Value='赎回'then
messagedlg(Msg.MsgBuyBuyed,mtWarning,[mbYes],0);
if tblHeadStatus.Value='挂失'then
messagedlg(Msg.MsgBuyLost,mtWarning,[mbYes],0);
if tblHeadStatus.Value='处理'then
messagedlg(Msg.MsgBuyDeadOutStock,mtWarning,[mbYes],0);
if tblHeadStatus.Value='绝当'then
begin
if cmdCancel.Enabled=False then
cmdCancel.Enabled:=True;
if cmdSave.Enabled=True then
cmdSave.Enabled:=False;
staConver.Caption:=Msg.StatusBuyDeadPawn;
end;
end;
end
else
begin
ClearForm;
messagedlg(Msg.MsgPawnNoExist,mtWarning,[mbYes],0);
txtPawnCode.SetFocus ;
end;
end;
end;
end;
end;
procedure TfrmConverDead.cmdExitClick(Sender: TObject);
begin
with dmPawn.dmPawnFrm do
begin
//tblHead.FreeBookmark(HeadBookMark);
tblHead.close;
//tblDetail.close;
dqDetail.close;
end;
close;
end;
procedure TfrmConverDead.FormShow(Sender: TObject);
var
Present: TDateTime;
Year, Month, Day: Word;
begin
Present:= Now;
DecodeDate(Present, Year, Month, Day);
txtSysYear.Value:=Year;
txtSysMonth.Value:=Month;
txtSysDay.Value:=Day;
//txtsysdate.text := IntToStr(Year) + '年'
// + IntToStr(Month) + '月' + IntToStr(Day)+'日';
end;
procedure TfrmConverDead.cmdSaveClick(Sender: TObject);
var
DeadDate:TDateTime;
Year,Month,Day:word;
begin
if messagedlg(Msg.MsgDeadOk,mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
DecodeDate(Now,Year,Month,Day);
if ConverMark=True then
begin
//转为绝当的时间
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;
DeadDate:=EncodeDate(txtSysYear.Value,txtSysMonth.Value,txtSysDay.Value);
staConver.Caption:=Msg.StatusConverIn;
with dmPawnFrm do
begin
tblHead.Open;
tblHead.GotoBookmark(HeadBookMark);
tblHead.Edit;
tblHeadStatus.Value:='绝当';
tblHeadCreateDate.Value:=DeadDate;
tblHead.Post;
//tblHead.FreeBookmark(HeadBookMark);
tblHead.Close;
staConver.Caption:=Msg.StatusConverOut;
ClearForm;
end;
end
else
messagedlg(Msg.MsgDeadEnabled,mtWarning,[mbYes],0);
end;
end;
procedure TfrmConverDead.cmdCancelClick(Sender: TObject);
begin
with dmPawnFrm do
begin
staConver.Caption:=Msg.StatusConverIn;
tblHead.Open;
tblHead.GotoBookmark(HeadBookMark);
tblHead.Edit;
tblHeadStatus.Value:='未赎';//Status;
tblHead.Post;
tblHead.FreeBookmark(HeadBookMark);
staConver.Caption:=Msg.StatusConverOut;
tblHead.close;
ClearForm;
end;
end;
procedure TfrmConverDead.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 TfrmConverDead.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 TfrmConverDead.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;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -