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

📄 converdead.~pa

📁 一个典当行的业务管理系统程序
💻 ~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 + -