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

📄 p_fk.pas

📁 超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统
💻 PAS
字号:
unit p_fk;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,p_mc, StdCtrls, Grids, DBGrids, SUIButton, SUIEdit, Buttons,
  ComCtrls;

type
  Tf_fk = class(TF_mc)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    DBGrid1: TDBGrid;
    ckdh: TsuiCheckBox;
    khm: TsuiCheckBox;
    eckdh: TsuiEdit;
    ekhm: TsuiEdit;
    BitBtn1: TBitBtn;
    DBGrid2: TDBGrid;
    rq: TsuiCheckBox;
    dt1: TDateTimePicker;
    dt2: TDateTimePicker;
    Label1: TLabel;
    BitBtn2: TBitBtn;
    Label2: TLabel;
    zjje: TsuiEdit;
    Label3: TLabel;
    qkje: TsuiEdit;
    Label4: TLabel;
    fkje: TsuiEdit;
    b_fk: TBitBtn;
    mje: TsuiEdit;
    Label5: TLabel;
    procedure ckdhClick(Sender: TObject);
    procedure khmClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure rqClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure fkjeKeyPress(Sender: TObject; var Key: Char);
    procedure b_fkClick(Sender: TObject);
    procedure mjeKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  f_fk: Tf_fk;

implementation

uses p_dm,db;
{$R *.dfm}

procedure Tf_fk.ckdhClick(Sender: TObject);
begin
  inherited;
  if ckdh.Checked then
  begin
     eckdh.Enabled:=true;
     eckdh.SetFocus;
  end
  else eckdh.Enabled:=false;
end;

procedure Tf_fk.khmClick(Sender: TObject);
begin
  inherited;
  if khm.Checked then
  begin
     ekhm.Enabled:=true;
     ekhm.SetFocus;
  end  else  ekhm.Enabled:=false;
end;

procedure Tf_fk.BitBtn1Click(Sender: TObject);
begin
  inherited;
  with dm do
  begin
    query.SQL.Clear;
    query.SQL.Add('select * from fk_st,kh_info where fk_st.khh=kh_info.khh and cklx like :cklx');
    query.Parameters.ParamValues['cklx']:='出库';
    //query.Parameters.ParamValues['ddh']:='ck'+'%';
    //query.Parameters.ParamValues['jz']:='F';
    if ckdh.Checked then
    begin
      query.SQL.Add(' and ddh like :ckdh');
      query.Parameters.ParamValues['ckdh']:=trim(eckdh.Text)+'%';
    end;
    if khm.Checked then
    begin
      query.SQL.Add(' and khm like :khm');
      query.Parameters.ParamValues['khm']:=trim(ekhm.Text)+'%';
    end;
    if rq.Checked then
    begin
      query.SQL.Add(' and ddrq>=:ddrq1 and ddrq<=:ddrq2');
      query.Parameters.ParamValues['ddrq1']:=formatdatetime('yyyy.mm.dd',dt1.Date);
      query.Parameters.ParamValues['ddrq2']:=formatdatetime('yyyy.mm.dd',dt2.Date);
    end;
    query.Open;
    dbgrid1.OnCellClick(dbgrid1.Columns.Items[dbgrid1.SelectedRows.count]);
  end;  //with .. end
end;

procedure Tf_fk.BitBtn2Click(Sender: TObject);
begin
  inherited;
  with dm do
  begin
    query.SQL.Clear;
    query.SQL.Add('select * from fk_st,kh_info where fk_st.khh=kh_info.khh and cklx like :cklx');
    query.Parameters.ParamValues['cklx']:='出库';
    //query.SQL.Add('select * from crkd_info,kh_info where crkd_info.khh=kh_info.khh and ddh like :ddh');
    //query.Parameters.ParamValues['ddh']:='ck'+'%';
    //query.Parameters.ParamValues['jz']:='F';
    query.open;
    dbgrid1.OnCellClick(dbgrid1.Columns.Items[dbgrid1.SelectedRows.count]);
  end;
end;

procedure Tf_fk.rqClick(Sender: TObject);
begin
  inherited;
  if rq.Checked then
  begin
    dt1.Enabled:=true;
    dt2.Enabled:=true;
  end else
  begin
    dt1.Enabled:=false;
    dt2.Enabled:=false;
  end;
end;

procedure Tf_fk.DBGrid1CellClick(Column: TColumn);
begin
  inherited;
  with dm do
  begin
    if query.RecordCount=0 then
    begin
      t_ck.Close;
      zjje.Text:='';
      qkje.Text:='';
      fkje.Enabled:=false;
      b_fk.Enabled:=false;
      exit;
    end;
    fkje.Enabled:=true;
    b_fk.Enabled:=true;
    zjje.Text:=query['zjje'];
    //qkje.Text:=floattostr(query['zjje']-query['yfje']-query['mje']);
    qkje.Text:=query['qk'];
    fkje.Text:='0';
    mje.Text:=query['mje'];
    if t_ck.Active=false then t_ck.Open;
    t_ck.Filter:='ddh='''+query['ddh']+'''and cklx=''出库''';
    t_ck.Filtered:=true;
    t_ck.Requery;
  end;
end;

procedure Tf_fk.FormCreate(Sender: TObject);
begin
  inherited;
  dt1.Date:=now;
  dt2.Date:=now;
  with dm do
  begin
    query.SQL.Clear;
    query.SQL.Add('select * from fk_st,kh_info where fk_st.khh=kh_info.khh and cklx like :cklx');
    query.Parameters.ParamValues['cklx']:='出库';
    //query.SQL.Add('select * from crkd_info,kh_info where crkd_info.khh=kh_info.khh and ddh like :ddh');
    //query.Parameters.ParamValues['ddh']:='ck'+'%';
    //query.Parameters.ParamValues['jz']:='F';
    query.open;
    dbgrid1.OnCellClick(dbgrid1.Columns.Items[dbgrid1.SelectedRows.count]);
  end;
end;

procedure Tf_fk.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  dm.Query.Close;
end;

procedure Tf_fk.fkjeKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  if not(key in['0'..'9',#8,'.','-']) then
  begin
    key:=#0;
  end;
end;

procedure Tf_fk.b_fkClick(Sender: TObject);
var
  je,zl:real;
  book:tbookmark;
begin
  inherited;
  if mje.Text='' then mje.Text:='0';
  if fkje.Text='' then fkje.Text:='0';
  try
   { if strtofloat(fkje.Text)=0 then
    begin
      application.MessageBox('付款金额不能为零!','提示',mb_ok+mb_iconwarning);
      exit;
    end;   }
    strtofloat(fkje.Text);
    if strtofloat(mje.Text)>dm.query['zjje'] then
    begin
      application.MessageBox('免金额不能大于总计金额!','提示',mb_ok+mb_iconwarning);
      exit;
    end;
  except
    application.MessageBox('付款金额或免金额数据不合法!','提示',mb_ok+mb_iconwarning);
    exit;
  end;   //try .. end
  with dm do
  begin
    book:=query.GetBookmark;
    zl:=(strtofloat(fkje.Text)+query['yfje']+strtofloat(mje.Text))-query['zjje'];
    if zl>0 then
       je:=query['zjje']-query['yfje']-strtofloat(mje.Text)
    else
       je:=strtofloat(fkje.Text);
//==========================
    query1.SQL.Clear;
    query1.SQL.Add('update crkd_info set yfje=yfje+:je');
    query1.Parameters.ParamValues['je']:=je;
    query1.SQL.Add(',mje=:mje ');
    query1.Parameters.ParamValues['mje']:=mje.Text;
    query1.SQL.Add('where ddh=:ddh');
    query1.Parameters.ParamValues['ddh']:=query['ddh'];
    query1.ExecSQL;
//======================================
    if zl>=0 then
       application.MessageBox(pchar('结帐成功!退款 '+floattostr(zl)+' !'),'信息',mb_ok+mb_iconinformation)
    else
       application.MessageBox(pchar('付款成功!欠款 '+floattostr(abs(zl))+' !'),'信息',mb_ok+mb_iconinformation);
    query.Requery;
    query.GotoBookmark(book);
    dbgrid1.OnCellClick(dbgrid1.Columns.Items[dbgrid1.SelectedRows.count]);
    query.FreeBookmark(book);
  end;
end;

procedure Tf_fk.mjeKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  if not(key in['0'..'9',#8,'.']) then
  begin
    key:=#0;
  end;
end;

end.

⌨️ 快捷键说明

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