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

📄 ransom.pas

📁 一个典当行的业务管理系统程序
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Ransom;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, ExtCtrls, StdCtrls, ComCtrls, DBCtrls, Db, DBTables, Spin;

type
  TfrmRansom = class(TForm)
    Label1: TLabel;
    txtPawnCode: TEdit;
    cmdOk: TButton;
    cmdCancel: TButton;
    cmdExit: TButton;
    GroupBox2: TGroupBox;
    dgDetail: TDBGrid;
    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;
    Label2: TLabel;
    Label21: TLabel;
    Panel2: TPanel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    txtPawnBeginYear: TEdit;
    txtPawnBeginMonth: TEdit;
    txtPawnBeginDay: TEdit;
    txtPawnEndYear: TEdit;
    txtPawnEndMonth: TEdit;
    txtPawnEndDay: TEdit;
    Panel1: TPanel;
    Label15: TLabel;
    Label16: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label10: TLabel;
    txtMonthRate: TEdit;
    txtFeeRate: TEdit;
    txtTotalPawnMoney: TEdit;
    txtServiceFee: TEdit;
    txtRealPayMoney: TEdit;
    txtCerName: TEdit;
    Label11: TLabel;
    lbServiceFeeRate: TLabel;
    txtServiceRate: TEdit;
    txtTimeOutMoney: TEdit;
    lbTimeOutMoney: TLabel;
    staBuy: TStaticText;
    Label12: TLabel;
    txtRate: TEdit;
    txtSysYear: TSpinEdit;
    Label14: TLabel;
    txtSysMonth: TSpinEdit;
    Label17: TLabel;
    txtSysDay: TSpinEdit;
    Label18: TLabel;
    cmdPrint: TButton;
    procedure cmdExitClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure txtPawnCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmdCancelClick(Sender: TObject);
    procedure cmdOkClick(Sender: TObject);
    procedure txtServiceRateKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    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);
    procedure txtRateKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure txtTimeOutMoneyKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmdPrintClick(Sender: TObject);
  private
    { Private declarations }
    procedure ClearForm;
  public
    { Public declarations }
  end;

var
  frmRansom: TfrmRansom;
  RansomMark:Boolean;
  ReInputMark:Boolean;
  ReInputYear,ReInputMonth,ReInputDay:word;
implementation

uses DmPawn, Msg, BuyPay, PrintTicket;

{$R *.DFM}
var
   HeadBookMark:TBookMark;
   MonthRate:Double;
   BuyMoney:Double;
   TimeOutServiceMoney:Double;
   DaysLimit:Integer;

procedure TfrmRansom.ClearForm ;
begin
     txtpawncode.text:='';
     txtName.Text :='';
     txtCerName.Text :='';
     txtCerCode.Text :='';
     txtAddress.Text :='';
     txtPhone.Text :='';
     txtZip.Text :='';
     txtLinkman.Text :='';
     txtmonthrate.text:='';
     txtRate.Text:='';
     txtfeerate.text:='';
     txttotalpawnmoney.text:='';
     txtservicefee.text:='';
     if txtServiceRate.Visible=True then
     begin
          txtServiceRate.Visible:=False;
     end;
     if self.lbServiceFeeRate.Visible=True then
     begin
          self.lbServiceFeeRate.Visible:=False;
     end;
     txtServiceRate.Text:='';
     if txtTimeOutMoney.Visible=True then
     begin
          txtTimeOutMoney.Visible:=False;
     end;
     if self.lbTimeOutMoney.Visible=True then
     begin
          self.lbTimeOutMoney.Visible:=False;
     end;
     txtTimeOutMoney.Text:='';

     txtrealpaymoney.text:='';
     txtpawnbeginyear.text:='';
     txtpawnbeginmonth.text:='';
     txtpawnbeginday.text:='';
     txtpawnendyear.text:='';
     txtpawnendmonth.text:='';
     txtpawnendday.text:='';
     staBuy.Caption :='';
     dmPawnFrm.dqDetailUn.Close;
     txtpawncode.setfocus;
end;
procedure TfrmRansom.cmdExitClick(Sender: TObject);
begin
     dmPawnFrm.tblHead.Close;
     dmPawnFrm.tblDetail.Close;
     dmPawnFrm.dqDetailUn.Close;
     close;
end;

procedure TfrmRansom.FormShow(Sender: TObject);
var
   Present: TDateTime;
   Year, Month, Day: Word;
   key:word;
   shift:TshiftState;
begin
     key:=VK_RETURN;
     Present:= Now;
     DecodeDate(Present, Year, Month, Day);
     if ReInputMark=True then
     begin
          txtSysYear.Value:=ReInputYear;
          txtSysMonth.Value:=ReInputMonth;
          txtSysDay.Value:=ReInputDay;     
     end
     else
     begin
          txtSysYear.Value:=Year;
          txtSysMonth.Value:=Month;
          txtSysDay.Value:=Day;
     end;
     //txtsysdate.text := IntToStr(Year) + '年'
     //                + IntToStr(Month) + '月' + IntToStr(Day)+'日';
     dmPawnFrm.tblHead.Open;
     if self.txtPawnCode.Text<>''then
        txtPawnCodeKeyDown(Sender,key,shift)
     else
         dmPawnFrm.dqDetailUn.Close;
end;

procedure TfrmRansom.txtPawnCodeKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
   QuerySql:string;
   BeginYear,EndYear,BeginMonth,EndMonth:word;
   BeginDay,EndDay:word;
   NowDate:TDateTime;
   //Year,Month,Day:Word;
   //MonthLimit:integer;
begin
     try
     //取出今天的日期
     //DecodeDate(Now,Year,Month,Day);
     NowDate:=EncodeDate(txtSysYear.Value,txtSysMonth.Value,txtSysDay.Value);
     //--------------------------------
     if lbServiceFeeRate.Visible=True then
        lbServiceFeeRate.Visible :=False;
     if txtServiceRate.Visible=True then
        txtServiceRate.Visible:=False;
     if lbTimeOutMoney.Visible=True then
        lbTimeOutMoney.Visible:=False;
     if txtTimeOutMoney.Visible=True then
        txtTimeOutMoney.Visible:=False;
     //---------------------------------
     if key=VK_RETURN then
     begin
          if txtPawnCode.Text='' then
          begin
             messagedlg(Msg.MsgPawnCodeInput,mtWarning,[mbYes],0);
             txtPawnCode.SetFocus ;
          end
          else
          begin
               with dmPawnFrm do
               begin
                    tblHead.IndexFieldNames:='PawnTicketCode';
                    tblHead.SetKey ;
                    tblHeadPawnTicketCode.AsString:=trim(txtPawnCode.text);
                    if tblHead.GotoKey then
                    begin
                         if (tblHeadStatus.Value ='未赎') or
                            (tblHeadStatus.Value='解挂') or
                            (tblHeadStatus.Value='半处') or
                            (tblHeadStatus.Value='绝当')then
                         begin
                              DaysLimit:=Round(NowDate-tblHeadPawnEndDate.Value );
                               //计算月利息
                               {MonthLimit:=Round(tblHeadPawnEndDate.Value -tblHeadPawnBeginDate.Value );
                               MonthRate:=(MonthLimit/30)*(tblHeadMonthRate.Value/100)
                                    *tblHeadTotalPawnMoney.Value ;}
                               MonthRate:=tblHeadMonthRateFee.Value;
                              //客户应付的赎金
                              BuyMoney:=tblHeadTotalPawnMoney.Value ;
                              HeadBookMark:=tblHead.GetBookmark ;
                              //QueryPawnCode:=trim(txtPawnCode.text);
                              //判断是否在当、逾期、绝当
                              if DaysLimit<=0 then
                              begin
                                 //在当
                                 staBuy.Caption :=Msg.StatusBuyOnline ;
                                 TimeOutServiceMoney:=0;
                              end;
                              if (DaysLimit<10) and(DaysLimit>=1)
                                 or (DaysLimit>=10) then
                              begin
                                   //逾期,输入服务费率
                                   staBuy.Caption :=Msg.StatusBuyTimeOut;
                                   //因为只有逾期了才能转为绝当,否则不能转为绝当
                                   if  tblHeadStatus.Value='绝当'then
                                   begin
                                        staBuy.Caption:=Msg.StatusBuyDeadPawn;
                                   end;
                                   lbServiceFeeRate.Visible:=True;
                                   txtServiceRate.Visible:=True;
                                   txtServiceRate.SetFocus ;
                              end;

                              {if DaysLimit>=10 then
                              begin
                                 //绝当,输入服务费率
                                 staBuy.Caption:=Msg.StatusBuyDeadPawn;
                                 //利息
                                 lbServiceFeeRate.Visible:=True;
                                 txtServiceRate.Visible:=True;
                                 txtServiceRate.SetFocus ;
                              end;}
                              //将客户信息从头表中取出放入当户栏中
                              txtName.Text :=tblHeadPawnerName.Value ;
                              txtCerName.Text :=tblHeadCertificateName.Value ;
                              txtCerCode.Text :=tblHeadCertificateCode.Value;
                              txtPhone.Text :=tblHeadTelephoneCode.Value ;

⌨️ 快捷键说明

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