📄 utxtjsz.pas
字号:
unit Utxtjsz;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzBckgnd, StdCtrls, Mask, DBCtrls, RzButton, RzRadChk, ExtCtrls,
RzPanel, RzEdit, RzDBEdit, TeEngine, Series, TeeProcs, Chart, DbChart,
TeeFunci, DB, ADODB, RzTabs, RzSplit, DBGridEh, DBCtrlsEh, DBLookupEh,
Grids;
type
TFckpicture = class(TForm)
RzStatusBar1: TRzStatusBar;
RzToolbar1: TRzToolbar;
RzToolButton4: TRzToolButton;
qrywptj: TADOQuery;
qryllrtj: TADOQuery;
RzSizePanel1: TRzSizePanel;
RzPanel1: TRzPanel;
RzGroupBox1: TRzGroupBox;
rcb1: TRzCheckBox;
dbclass: TDBLookupComboboxEh;
RzGroupBox2: TRzGroupBox;
wpname: TDBLookupComboboxEh;
rcb2: TRzCheckBox;
RzGroupBox3: TRzGroupBox;
llname: TDBLookupComboboxEh;
rcb3: TRzCheckBox;
RzGroupBox4: TRzGroupBox;
rcb4: TRzCheckBox;
ks: TDBDateTimeEditEh;
js: TDBDateTimeEditEh;
lbl3: TLabel;
lbl4: TLabel;
dsclass: TDataSource;
dswp: TDataSource;
dsllname: TDataSource;
qrywptjbwid: TAutoIncField;
qrywptjbwname: TStringField;
qrywptjclid: TIntegerField;
qrywptjbwunit: TStringField;
qrywptjbwprice: TBCDField;
qrywptjbwmemo: TStringField;
qryllrtjemid: TAutoIncField;
qryllrtjemname: TStringField;
qryllrtjemsex: TBooleanField;
qryllrtjdeid: TIntegerField;
qryllrtjemjob: TStringField;
qryllrtjemindate: TDateTimeField;
qryllrtjemmemo: TStringField;
RzBitBtn1: TRzBitBtn;
dbcht1: TDBChart;
Series1: TPieSeries;
qrytj: TADOQuery;
qrytjbwname: TStringField;
qrytjrkzs: TIntegerField;
RzSpacer1: TRzSpacer;
RzToolButton1: TRzToolButton;
RzSizePanel2: TRzSizePanel;
RzPanel2: TRzPanel;
DBGridEh1: TDBGridEh;
dstj: TDataSource;
procedure RzToolButton4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure rcb1Click(Sender: TObject);
procedure rcb2Click(Sender: TObject);
procedure rcb3Click(Sender: TObject);
procedure rcb4Click(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure RzToolButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Fckpicture: TFckpicture;
implementation
uses Udate, Urctx, Urktj, Ucktjxx;
{$R *.dfm}
procedure TFckpicture.RzToolButton4Click(Sender: TObject);
begin
close;
end;
procedure TFckpicture.FormShow(Sender: TObject);
begin
RzToolButton1.Click;
end;
procedure TFckpicture.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 TFckpicture.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 TFckpicture.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 TFckpicture.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 TFckpicture.RzBitBtn1Click(Sender: TObject);
var t,tell:string;
begin
t:='select wp.bwname,sum(sequanty) as ckzs from tbsell se join tbwpb wp on se.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 se.llid='''+inttostr(llname.KeyValue)+''''
else
t:=t+'se.llid='''+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 se.sedate>='''+datetostr(ks.Value)+''''
else
t:=t+'se.sedate>='''+datetostr(ks.Value)+'''';
tell:=tell+'时间从['+''+ks.Text+''+']到';
if js.Value=null then begin
t:=t+' and se.sedate<='''+datetostr(now)+'''';
tell:=tell+'['+''+datetostr(now)+''+']';
end
else begin
t:=t+' and se.sedate<='''+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(sequanty) as ckzs from tbsell se join tbwpb wp on se.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 TFckpicture.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(sequanty) as ckzs from tbsell se join tbwpb wp on se.bwid=wp.bwid group by wp.bwname');
Open;
end;
dbcht1.Title.Text.CommaText:='所有的领料信息统计视图!';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -