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

📄 upicture.pas

📁 小型企业物品管理系统,DELPHI源码+ACCESS数据库
💻 PAS
字号:
unit Upicture;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TeEngine, Series, TeeProcs, Chart, DbChart, RzPanel, ExtCtrls,
  RzButton, ActnList, DB, ADODB, RzSplit, RzTabs, DBGridEh, DBCtrlsEh,
  StdCtrls, Mask, DBLookupEh, RzRadChk, Grids;

type
  TFpicture = class(TForm)
    RzStatusBar1: TRzStatusBar;
    RzToolbar1: TRzToolbar;
    RzSpacer2: TRzSpacer;
    RzToolButton3: TRzToolButton;
    RzToolButton1: TRzToolButton;
    RzSpacer1: TRzSpacer;
    dsclass: TDataSource;
    qrywptj: TADOQuery;
    qrywptjbwid: TAutoIncField;
    qrywptjbwname: TStringField;
    qrywptjclid: TIntegerField;
    qrywptjbwunit: TStringField;
    qrywptjbwprice: TBCDField;
    qrywptjbwmemo: TStringField;
    dswp: TDataSource;
    qryllrtj: TADOQuery;
    qryllrtjemid: TAutoIncField;
    qryllrtjemname: TStringField;
    qryllrtjemsex: TBooleanField;
    qryllrtjdeid: TIntegerField;
    qryllrtjemjob: TStringField;
    qryllrtjemindate: TDateTimeField;
    qryllrtjemmemo: TStringField;
    dsllname: TDataSource;
    qrytj: TADOQuery;
    qrytjbwname: TStringField;
    qrytjrkzs: TIntegerField;
    dstj: TDataSource;
    RzSizePanel2: TRzSizePanel;
    RzPanel2: TRzPanel;
    DBGridEh1: TDBGridEh;
    RzSizePanel1: TRzSizePanel;
    RzPanel1: TRzPanel;
    RzGroupBox1: TRzGroupBox;
    rcb1: TRzCheckBox;
    dbclass: TDBLookupComboboxEh;
    RzGroupBox2: TRzGroupBox;
    wpname: TDBLookupComboboxEh;
    rcb2: TRzCheckBox;
    RzGroupBox3: TRzGroupBox;
    llname: TDBLookupComboboxEh;
    rcb3: TRzCheckBox;
    RzGroupBox4: TRzGroupBox;
    lbl3: TLabel;
    lbl4: TLabel;
    rcb4: TRzCheckBox;
    ks: TDBDateTimeEditEh;
    js: TDBDateTimeEditEh;
    RzBitBtn1: TRzBitBtn;
    dbcht1: TDBChart;
    RzSpacer3: TRzSpacer;
    RzToolButton2: TRzToolButton;
    Series1: TPieSeries;
    procedure RzToolButton3Click(Sender: TObject);
    procedure actrkExecute(Sender: TObject);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure rcb1Click(Sender: TObject);
    procedure rcb2Click(Sender: TObject);
    procedure rcb3Click(Sender: TObject);
    procedure rcb4Click(Sender: TObject);
    procedure RzToolButton1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Fpicture: TFpicture;

implementation

uses Urktj, Udate, Umain;

{$R *.dfm}

procedure TFpicture.RzToolButton3Click(Sender: TObject);
begin
  close;
end;

procedure TFpicture.actrkExecute(Sender: TObject);
begin
 { with qrytj do begin          //按入库的商品来统计
    Close;SQL.Clear;SQL.Add('select wp.bwname,sum(byquanty) as rkzs from tbgoodin gn join tbwpb wp on gn.bwid=wp.bwid group by wp.bwname');
    Open;
  end;   
with }
end;

procedure TFpicture.RzBitBtn1Click(Sender: TObject);
var t,tell:string;
begin
   t:='select wp.bwname,sum(byquanty) as rkzs from tbgoodin gn join tbwpb wp on gn.bwid=wp.bwid where ';
  if rcb1.Checked then begin
    if dbclass.text='' then begin
      MessageDlg('请选择类型!',mtError,[mbyes],0);
      dbclass.SetFocus;
      Exit;
    end;
    t:=t+'wp.clid='''+inttostr(dbclass.KeyValue)+'''';
    tell:='类型名称为['+''+dbclass.Text+''+']';
  end;
  if rcb2.Checked then begin
    if wpname.Text='' then begin
      MessageDlg('请选择物品名称!',mtError,[mbyes],0);
      wpname.SetFocus;Exit;
    end;
    if rcb1.Checked then
      t:=t+' and wp.bwid='''+inttostr(wpname.KeyValue)+''''
    else
      t:=t+'wp.bwid='''+inttostr(wpname.KeyValue)+'''';
    tell:=tell+'物品名称为['+''+wpname.Text+''+']';
  end;
  if rcb3.Checked then begin
    if llname.Text='' then begin
      MessageDlg('请选择入库人的姓名!',mtError,[mbYes],0);
      llname.SetFocus;Exit;
    end;
    if (rcb1.Checked) or (rcb2.Checked) then
      t:=t+' and gn.rkid='''+inttostr(llname.KeyValue)+''''
    else
      t:=t+'gn.rkid='''+inttostr(llname.KeyValue)+'''';
    tell:=tell+'入库人姓名为['+''+llname.Text+''+']';
  end;
  if rcb4.Checked then begin
    if ks.Value=null then begin
      MessageDlg('请选择开始时间!',mtError,[mbyes],0);
      ks.SetFocus;Exit;
    end;
    if (rcb1.Checked) or (rcb2.Checked) or (rcb3.Checked) then
      t:=t+' and gn.byrkdate>='''+datetostr(ks.Value)+''''
    else
      t:=t+'gn.byrkdate>='''+datetostr(ks.Value)+'''';
    tell:=tell+'时间从['+''+ks.Text+''+']到';
    if js.Value=null then begin
      t:=t+' and gn.byrkdate<='''+datetostr(now)+'''';
      tell:=tell+'['+''+datetostr(now)+''+']';
    end
    else begin
      t:=t+' and gn.byrkdate<='''+datetostr(js.Value)+'''';
      tell:=tell+'['+''+js.text+''+']';
    end;
  end;
  if (rcb1.Checked=false) and (rcb2.Checked=false) and (rcb3.Checked=false) and (rcb4.Checked=false) then begin
    t:='select wp.bwname,sum(byquanty) as rkzs from tbgoodin gn join tbwpb wp on gn.bwid=wp.bwid group by wp.bwname';
    tell:='所有的入库信息统计视图!';
    end
  else
    t:=t+' group by wp.bwname';
  with qrytj do begin
    Close;SQL.Clear;SQL.Add(t);Open;
  end;
  if qrytj.RecordCount=0 then begin
    MessageDlg('没有满足条件的信息统计!',mtError,[mbyes],0);
    dbcht1.Title.Text.CommaText:='没有满足'+tell+'的统计信息!';
    Exit;
  end;
  dbcht1.Title.Text.CommaText:=tell;
end;

procedure TFpicture.rcb1Click(Sender: TObject);
begin
   if rcb1.Checked then begin
     fdate.qryclass.Close;
      fdate.qryclass.Open;
    dbclass.ReadOnly:=False;
  end
  else
    dbclass.ReadOnly:=True;
end;

procedure TFpicture.rcb2Click(Sender: TObject);
begin
  if rcb1.Checked then begin
    if dbclass.Text='' then begin
      MessageDlg('请选择物品类型!',mtError,[mbyes],0);
      dbclass.SetFocus;Exit;
    end;
  end;
  if rcb2.Checked then begin
    if rcb1.Checked then begin
      with qrywptj do begin
        close;sql.clear;sql.add('select * from tbwpb where clid='''+inttostr(dbclass.KeyValue)+'''');
        Open;
      end;
      if qrywptj.RecordCount=0 then begin
        MessageDlg('该类型下没有物品!请重新选择物品类型!',mtError,[mbyes],0);
        dbclass.SetFocus;
        Exit;
      end;
    end
    else if rcb1.Checked=false then begin
      with qrywptj do begin
        Close;SQL.Clear;SQL.Add('select * from tbwpb');Open;
      end;
      if qrywptj.RecordCount=0 then begin
        MessageDlg('目前没有物品入库记录!请先入库',mtError,[mbyes],0);
        Exit;
      end;
    end;
    wpname.ReadOnly:=False;
  end
  else
    wpname.ReadOnly:=True;
end;

procedure TFpicture.rcb3Click(Sender: TObject);
begin
  if rcb2.Checked then begin
    if wpname.Text='' then begin
      MessageDlg('请选择物品名称',mtError,[mbYes],0);
      wpname.SetFocus;Exit;
    end;
  end;
  if rcb3.Checked then begin
    qryllrtj.Close;qryllrtj.Open;
    if qryllrtj.RecordCount=0 then begin
      MessageDlg('目前没有领料人信息!',mtError,[mbyes],0);
      Exit;
    end;
    llname.ReadOnly:=False;
  end
  else
    llname.ReadOnly:=True;
end;

procedure TFpicture.rcb4Click(Sender: TObject);
begin
   if rcb3.Checked then begin
    if llname.Text='' then begin
      MessageDlg('请选择领料人的姓名!',mtError,[mbyes],0);
      llname.SetFocus;
      Exit;
    end;
  end;
  if rcb4.Checked then begin
    ks.ReadOnly:=False;
    js.ReadOnly:=False;
  end
  else begin
    ks.ReadOnly:=True;
    js.ReadOnly:=True;
  end;
end;

procedure TFpicture.RzToolButton1Click(Sender: TObject);
begin
    fdate.qryclass.Close;qrywptj.Close;qryllrtj.Close;
  rcb1.Checked:=False;rcb2.Checked:=False;rcb3.Checked:=False;rcb4.Checked:=False;
  ks.Value:=null;js.Value:=null;
  with qrytj do begin
    Close;SQL.Clear;
    SQL.Add('select wp.bwname,sum(byquanty) as rkzs from tbgoodin gn join tbwpb wp on gn.bwid=wp.bwid group by wp.bwname');
    Open;
  end;
  dbcht1.Title.Text.CommaText:='所有的领料信息统计视图!';
end;

procedure TFpicture.FormShow(Sender: TObject);
begin
  RzToolButton1.Click;
end;

end.

⌨️ 快捷键说明

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