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

📄 p_rk.pas

📁 超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit p_rk;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,p_mc, StdCtrls, ComCtrls, SUIComboBox, Grids, DBGrids, Buttons,
  SUIEdit, Mask, DBCtrls, SUIDBCtrls, ExtCtrls, DB;

type
  Tf_rk = class(Tf_mc)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    DT: TDateTimePicker;
    RKDH: TEdit;
    Memo1: TMemo;
    cb_jbr: TsuiComboBox;
    cb_ck: TsuiComboBox;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    b_rk: TBitBtn;
    BitBtn2: TBitBtn;
    b_add: TBitBtn;
    b_edit: TBitBtn;
    b_save: TBitBtn;
    b_cancel: TBitBtn;
    b_del: TBitBtn;
    Pan: TPanel;
    Label7: TLabel;
    sl: TsuiDBEdit;
    Label8: TLabel;
    Label9: TLabel;
    suiDBMemo1: TsuiDBMemo;
    Label15: TLabel;
    GroupBox3: TGroupBox;
    Label11: TLabel;
    Label12: TLabel;
    c: TsuiDBEdit;
    hcl: TsuiDBEdit;
    GroupBox4: TGroupBox;
    Label13: TLabel;
    Label14: TLabel;
    szmd: TsuiDBEdit;
    ysx: TsuiDBEdit;
    sph: TsuiDBEdit;
    Label3: TLabel;
    Label16: TLabel;
    spm: TsuiEdit;
    spxh: TsuiEdit;
    b_sp: TSpeedButton;
    suiDBComboBox1: TsuiDBComboBox;
    SpeedButton2: TSpeedButton;
    b_xgrkd: TBitBtn;
    b_delrkd: TBitBtn;
    PAN1: TPanel;
    dt1: TDateTimePicker;
    Bevel1: TBevel;
    Label10: TLabel;
    dt2: TDateTimePicker;
    Label17: TLabel;
    BitBtn5: TBitBtn;
    DBGrid2: TDBGrid;
    BitBtn1: TBitBtn;
    BitBtn3: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure rkdbh;
    procedure b_rkClick(Sender: TObject);
    procedure b_addClick(Sender: TObject);
    procedure b_editClick(Sender: TObject);
    procedure b_delClick(Sender: TObject);
    procedure b_saveClick(Sender: TObject);
    procedure b_cancelClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure sphChange(Sender: TObject);
    procedure b_spClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn2Click(Sender: TObject);
    procedure b_xgrkdClick(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure b_delrkdClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    edit:bool;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  f_rk: Tf_rk;

implementation

uses p_dm,p_gl,p_sp,adodb,p_ffry;
{$R *.dfm}
procedure tf_rk.rkdbh;
var
 i,j:integer;
 s:string;
begin
  i:=0;
  DT.Date:=NOW;
  with dm do
  begin
    query.SQL.Clear;
    query.SQL.Add('select * from crkd_info where ddh like :ddh');
    query.Parameters[0].Value:='rk'+formatdatetime('yyyymmdd',dt.Date)+'%';
    query.Open;
    if query.RecordCount=0 then   //==============
    begin
      s:='000'+inttostr(i+1);
      rkdh.Text:='rk'+formatdatetime('yyyymmdd',dt.Date)+s;
    end else
    begin
      query.Last;
      s:=copy(query['ddh'],11,4);
      i:=strtoint(s);
      s:=inttostr(i+1);
      for j:=1 to 4-length(s) do     //=============
        s:='0'+s;
      rkdh.Text:='rk'+formatdatetime('yyyymmdd',dt.Date)+s;
    end;    //if ... end
    query.Close;
  end;      //with .. end
end;

procedure Tf_rk.FormCreate(Sender: TObject);
begin
  inherited;
  pan1.Hide;
  edit:=false;
  f_rk.rkdbh;
  with dm do
  begin
    query.SQL.Clear;
    query.SQL.Add('delete from temprk_info');
    query.ExecSQL;
    t_temprk.Open;
    t_ffry.Open;
    t_ffry.Filtered:=false;
    if t_ffry.RecordCount=0 then
    begin
      application.MessageBox('没有本公司人员信息,请输入!','信息',mb_ok+mb_iconinformation);
      application.CreateForm(tf_ffry,f_ffry);
      f_ffry.ShowModal;
    end;
    t_ffry.First;
    while not t_ffry.Eof do
    begin
      cb_jbr.Items.Add(t_ffry['xm']);
      t_ffry.Next;
    end;

  end;
  cb_jbr.ItemIndex:=0;
  if dm.t_temprk.RecordCount=0 then exit;
  dbgrid1.OnCellClick(dbgrid1.Columns.Items[dbgrid1.SelectedRows.count]);
end;

procedure Tf_rk.b_rkClick(Sender: TObject);
begin
  inherited;
  b_cancel.OnClick(self);
  b_delrkd.Enabled:=false;
  if trim(cb_jbr.Text)='' then
  begin
    application.MessageBox('请输入经办人!','提示',mb_ok+mb_iconinformation);
    exit;
  end;
  if dm.T_TEMPRK.RecordCount=0 then
  begin
    application.MessageBox('请增加入库明细!','提示',mb_ok+mb_iconinformation);
    exit;
  end;
  with dm do
  begin
//=======================================
    if b_rk.Caption='修库' then
    begin
      query.SQL.Clear;
      query.SQL.Add('delete from kc_info where ddh=:ddh');
      query.Parameters[0].Value:=trim(rkdh.Text);
      query.ExecSQL;
      query.SQL.Clear;
      query.SQL.Add('delete from rk_info where ddh=:ddh');
      query.Parameters[0].Value:=trim(rkdh.Text);
      query.ExecSQL;
      query.SQL.Clear;
      query.SQL.Add('delete from crkd_info where ddh=:ddh');
      query.Parameters[0].Value:=trim(rkdh.Text);
      query.ExecSQL;
    {  t_temprk.Requery;
      t_temprk.Filtered:=false;
      while not t_temprk.Eof do
      begin
        query.SQL.Clear;
        query.SQL.Add('delete from crkd_info where ddh=:ddh and c=:c and hcl=:hcl and szmd=:szmd and ysx=:ysx');
        query.Parameters[0].Value:=trim(rkdh.Text);
        query.Parameters[1].Value:=t_temprk['c'];
        query.Parameters[2].Value:=t_temprk['hcl'];
        query.Parameters[3].Value:=t_temprk['szmd'];
        query.Parameters[4].Value:=t_temprk['ysx'];
        query.ExecSQL;
        t_temprk.Next;
      end;         }
    end;
//=======================================
    query.SQL.Clear;
    query.SQL.Add('insert into crkd_info(ddh,ddrq,jbr,ck,bz) values(:ddh,:ddrq,:jbr,:ck,:bz)');
    query.Parameters[0].Value:=trim(rkdh.Text);
    query.Parameters[1].Value:=formatdatetime('yyyy.mm.dd',dt.Date);
    query.Parameters[2].Value:=trim(cb_jbr.Text);
    query.Parameters[3].Value:=trim(cb_ck.Text);
    query.Parameters[4].Value:=trim(memo1.Text);
    query.ExecSQL;
    query.SQL.Clear;
    query.SQL.Add('update temprk_info set ddh=:ddh,rklx=:rklx');
    query.Parameters[0].Value:=trim(rkdh.Text);
    query.Parameters[1].Value:='入库';
    query.ExecSQL;
    query.SQL.Clear;
    query.SQL.Add('insert into kc_info(ddh,sph,c,hcl,szmd,ysx,sl,dw,bz) select ddh,sph,c,hcl,szmd,ysx,sl,dw,bz from temprk_info');
    query.ExecSQL;
    query.SQL.Clear;
    query.SQL.Add('insert into rk_info select * from temprk_info');
    query.ExecSQL;
    f_rk.rkdbh;
    query.SQL.Clear;
    query.SQL.Add('delete from temprk_info');
    query.ExecSQL;
    spm.Text:='';
    spxh.Text:='';
    t_temprk.Requery;
    if b_rk.Caption='修库' then b_rk.Caption:='入库';
  end;
end;

procedure Tf_rk.b_addClick(Sender: TObject);
begin
  inherited;
  dm.T_temprk.Append;
  spm.Text:='';
  spxh.Text:='';
  b_sp.Click;
  b_add.Enabled:=false;
  b_edit.Enabled:=false;
  b_del.Enabled:=false;
  b_save.Enabled:=true;
  b_cancel.Enabled:=true;
  pan.Enabled:=true;
  b_sp.Enabled:=true;
  pan.Font.Color:=$00990000;
  dbgrid1.Enabled:=false;
  //sph.SetFocus;
end;

procedure Tf_rk.b_editClick(Sender: TObject);
begin
  inherited;
  dm.T_temprk.edit;
  edit:=true;
  with dm do
  begin
    if b_rk.Caption='修库' then
    begin
      t_temprk.Cancel;
      query.SQL.Clear;
      query.SQL.Add('select * from ck_info where rkdh=:ddh and sph=:sph and c=:c and hcl=:hcl and szmd=:szmd and ysx=:ysx');
      query.Parameters[0].Value:=t_temprk['ddh'];
      query.Parameters[1].Value:=t_temprk['sph'];
      query.Parameters[2].value:=t_temprk['c'];
      query.Parameters[3].value:=t_temprk['hcl'];
      query.Parameters[4].value:=t_temprk['szmd'];
      query.Parameters[5].value:=t_temprk['ysx'];
      query.open;
      if query.RecordCount<>0 then
      begin
        application.MessageBox('该商品已出库,不能删除其信息!','警告',mb_ok+mb_iconwarning);
        t_temprk.Requery;
        exit;
      end;
    end;
  end;
  B_SP.Enabled:=FAlse;
  c.Enabled:=false;
  hcl.Enabled:=false;
  szmd.Enabled:=false;
  ysx.Enabled:=false;
  b_edit.Enabled:=false;
  b_add.Enabled:=false;
  b_del.Enabled:=false;
  b_save.Enabled:=true;
  b_cancel.Enabled:=true;
  pan.Enabled:=true;
  dbgrid1.Enabled:=false;
  pan.Font.Color:=$00990000;
  sl.SetFocus;
end;

procedure Tf_rk.b_delClick(Sender: TObject);
begin
  inherited;
  with dm do
  begin
    //\============================检测是否有出库信息如果有则不能修改入库信息
    if b_rk.Caption='修库' then
    begin
      t_temprk.Cancel;
      query.SQL.Clear;
      query.SQL.Add('select * from ck_info where rkdh=:ddh and sph=:sph and c=:c and hcl=:hcl and szmd=:szmd and ysx=:ysx');
      query.Parameters[0].Value:=t_temprk['ddh'];
      query.Parameters[1].Value:=t_temprk['sph'];
      query.Parameters[2].value:=t_temprk['c'];
      query.Parameters[3].value:=t_temprk['hcl'];
      query.Parameters[4].value:=t_temprk['szmd'];
      query.Parameters[5].value:=t_temprk['ysx'];
      query.open;
      if query.RecordCount<>0 then
      begin
        application.MessageBox('该商品已出库,不能删除其信息!','警告',mb_ok+mb_iconwarning);
        t_temprk.Requery;
        exit;
      end;
    end;
  end;//with .. end
    //=============================
  if application.MessageBox('您确认删除该记录吗?','提问',mb_yesno+mb_iconquestion)=idno then
  begin
    exit;
  end;
  try
    dm.T_temprk.Delete;
  except
    application.MessageBox('数据库删除不成功!','数据删除失败',mb_ok+mb_iconstop);
  end;
  dm.T_temprk.Filtered:=false;
  dbgrid1.OnCellClick(dbgrid1.Columns.Items[dbgrid1.SelectedRows.count]);
end;

procedure Tf_rk.b_saveClick(Sender: TObject);
var
  s:integer;
begin
  inherited;
  if (trim(sph.Text)='')or(trim(c.Text)='')or(trim(ysx.Text)='')or(trim(szmd.Text)='')or(trim(hcl.Text)='')or(trim(sl.Text)='') then

⌨️ 快捷键说明

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