📄 upicture.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 + -