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

📄 ransom.pas

📁 一个典当行的业务管理系统程序
💻 PAS
📖 第 1 页 / 共 2 页
字号:
                              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 + -