📄 ustockquery.~pas
字号:
unit ustockquery;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, DBCtrls, Grids, DBGrids, ComCtrls,
DB, DBTables;
type
Tfstockquery = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label4: TLabel;
Label3: TLabel;
Label2: TLabel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
Label9: TLabel;
Label10: TLabel;
Label7: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
DBLookupComboBox3: TDBLookupComboBox;
DBLookupComboBox4: TDBLookupComboBox;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Panel1: TPanel;
BitBtn1: TBitBtn;
CloseBitBtn: TBitBtn;
EditBitBtn: TBitBtn;
QueryBitBtn: TBitBtn;
Label5: TLabel;
DBLookupComboBox5: TDBLookupComboBox;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label6: TLabel;
ComboBox3: TComboBox;
Label8: TLabel;
ComboBox4: TComboBox;
Edit2: TEdit;
Edit3: TEdit;
Label23: TLabel;
Label22: TLabel;
Label12: TLabel;
Edit4: TEdit;
DBGrid1: TDBGrid;
UnitQuery: TQuery;
UnitDataSource: TDataSource;
SiteQuery: TQuery;
SiteDataSource: TDataSource;
DepotQuery: TQuery;
DepotDataSource: TDataSource;
FoodTypeQuery: TQuery;
FoodTypeDataSource: TDataSource;
stockDataSource: TDataSource;
chubeiQuery: TQuery;
chubeiDataSource: TDataSource;
Label11: TLabel;
DBLookupComboBox6: TDBLookupComboBox;
guishuQuery: TQuery;
guishuDataSource: TDataSource;
stockQuery: TQuery;
stockQueryUnit_id: TIntegerField;
stockQuerySite_id: TIntegerField;
stockQueryDepot_id: TIntegerField;
stockQueryFoodPosition_id: TIntegerField;
stockQueryBDEDesigner: TStringField;
stockQueryBDEDesigner2: TStringField;
stockQueryBDEDesigner3: TStringField;
stockQueryBDEDesigner4: TStringField;
stockQueryBDEDesigner5: TStringField;
stockQueryBDEDesigner6: TDateTimeField;
stockQueryBDEDesigner7: TIntegerField;
stockQueryBDEDesigner8: TStringField;
stockQueryBDEDesigner9: TStringField;
stockQueryBDEDesigner10: TFloatField;
stockQueryBDEDesigner11: TFloatField;
stockQueryBDEDesigner12: TStringField;
stockQueryBDEDesigner13: TStringField;
stockQueryBDEDesigner14: TFloatField;
stockQueryBDEDesigner15: TFloatField;
fdpidQuery: TQuery;
GroupBox2: TGroupBox;
StaticText1: TStaticText;
Label13: TLabel;
ComboBox5: TComboBox;
fdpositionQuery: TQuery;
BitBtn2: TBitBtn;
procedure CloseBitBtnClick(Sender: TObject);
procedure UnitQueryAfterScroll(DataSet: TDataSet);
procedure SiteQueryAfterScroll(DataSet: TDataSet);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure DepotQueryAfterScroll(DataSet: TDataSet);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure QueryBitBtnClick(Sender: TObject);
procedure EditBitBtnClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fstockquery: Tfstockquery;
S: string;
queryitem:string;
implementation
uses unitdatamodul, UntTempResult,Global,uexcel;
{$R *.dfm}
procedure Tfstockquery.CloseBitBtnClick(Sender: TObject);
begin
close;
end;
procedure Tfstockquery.UnitQueryAfterScroll(DataSet: TDataSet);
begin
SiteQuery.ParamByName('UnitId').AsInteger:=DataSet.FieldByName('UNIT_ID').AsInteger;
SiteQuery.Close;
SiteQuery.Open;
if DataSet.FieldByName('UNIT_ID').AsInteger= 99999997 then
DBLookupComboBox2.Enabled:=false
else DBLookupComboBox2.Enabled:=true;
DBLookupComboBox2.KeyValue:=99999998;
end;
procedure Tfstockquery.SiteQueryAfterScroll(DataSet: TDataSet);
begin
depotQuery.ParamByName('SiteId').AsInteger:=DataSet.FieldByName('site_ID').AsInteger;
depotquery.ParamByName('unitid').AsInteger :=dataset.fieldbyname('unit_id').AsInteger ;
depotQuery.Close;
depotQuery.Open;
if DataSet.FieldByName('site_ID').AsInteger=99999998 then
DBLookupComboBox3.Enabled:=false
else DBLookupComboBox3.Enabled:=true;
DBLookupComboBox3.KeyValue:=99999999;
end;
procedure Tfstockquery.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked=False then
begin
DateTimePicker1.Enabled:=false;
DateTimePicker2.Enabled:=false;
end
else
begin
DateTimePicker1.Enabled:=true;
DateTimePicker2.Enabled:=true;
end;
end;
procedure Tfstockquery.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.Checked=False then
begin
combobox3.Enabled:=false;
combobox4.Enabled:=false;
end
else
begin
combobox3.Enabled:=true;
combobox4.Enabled:=true;
end;
end;
procedure Tfstockquery.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (Key<>'0') and (Key<>'1') and (Key<>'2') and (Key<>'3') and (Key<>'4')and
(Key<>'5') and (Key<>'6') and (Key<>'7') and (Key<>'8') and (Key<>'9') and
(Key<>'.') and (ord(Key)<>8) then
Key:=chr(0);
end;
procedure Tfstockquery.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if (Key<>'0') and (Key<>'1') and (Key<>'2') and (Key<>'3') and (Key<>'4')and
(Key<>'5') and (Key<>'6') and (Key<>'7') and (Key<>'8') and (Key<>'9') and
(Key<>'.') and (ord(Key)<>8) then
Key:=chr(0);
end;
procedure Tfstockquery.FormCreate(Sender: TObject);
var reatime:integer;
i:integer;
j:integer;
total:real;
begin
foodtypequery.Open;
chubeiquery.Open;
guishuquery.Open;
if global.g_user.UnitID=0 then
begin
DBLookupComboBox1.KeyValue:=99999997;
unitquery.Open;
DBLookupComboBox2.Enabled:=false;
end else
begin
Dblookupcombobox1.KeyValue :=global.g_user.UnitID;
unitquery.Open;
dblookupcombobox1.Enabled :=false;
sitequery.ParamByName('unitid').AsInteger := Dblookupcombobox1.KeyValue;
sitequery.Open;
end;
DBLookupComboBox2.KeyValue:=99999998;
DBLookupComboBox3.KeyValue:=99999999;
DBLookupComboBox3.Enabled:=false;
ReaTime:=StrToInt(FormatDateTime('YYYY',date));
for i:=0 to 10 do
begin
ComboBox3.Items.add(IntToStr(ReaTime-10+i));
ComboBox4.Items.add(IntToStr(ReaTime-10+i));
end;
ComboBox3.ItemIndex:=0;
ComboBox4.ItemIndex:=10;
datetimepicker1.DateTime :=date;
datetimepicker2.DateTime :=date;
dblookupcombobox4.KeyValue :='不指定';
dblookupcombobox5.KeyValue :='不指定';
dblookupcombobox6.KeyValue :='不指定';
if global.g_user.UnitID=0 then
begin
s:=stockquery.SQL.Text;
StockQuery.SQL.Clear;
StockQuery.SQL.Add(s+' order by ent_instack.unit_id,ent_instack.site_id,ent_instack.depot_id,ent_instack.foodposition_id');
end else
begin
s:=stockquery.SQL.Text+' and ent_instack.unit_id='+inttostr(DBLookupComboBox1.KeyValue);
StockQuery.SQL.Clear;
StockQuery.SQL.Add(s+' order by ent_instack.site_id,ent_instack.depot_id,ent_instack.foodposition_id');
end;
try
StockQuery.Open;
except
Application.MessageBox('查询库存时出错!','系统错误',MB_OK+MB_ICONERROR);
Exit;
end;
total:=0;
for j:=1 to stockquery.RecordCount do
// stockquery.First ;
// while not stockquery.Eof do
begin
total:=total+stockquery.fieldbyname('库存数量').AsFloat;
stockquery.Next ;
end;
statictext1.Caption :=floattostr(total);
end;
procedure Tfstockquery.DepotQueryAfterScroll(DataSet: TDataSet);
begin
if DataSet.FieldByName('depot_ID').AsInteger=99999999 then
begin
combobox5.Text :='';
combobox5.Enabled :=false;
end else
begin
combobox5.Enabled :=true;
combobox5.Items.Clear ;
fdpositionquery.ParamByName('unit_id').AsInteger :=dataset.fieldbyname('unit_id').AsInteger ;
fdpositionquery.ParamByName('site_id').AsInteger :=dataset.fieldbyname('site_id').AsInteger ;
fdpositionquery.ParamByName('depot_id').AsInteger :=dataset.fieldbyname('depot_id').AsInteger ;
fdpositionquery.Close;
fdpositionquery.Open;
fdpositionquery.First ;
while not fdpositionquery.Eof do
begin
combobox5.Items.Add(fdpositionquery.fieldbyname('name').AsString);
fdpositionquery.Next;
end;
end;
end;
procedure Tfstockquery.ComboBox1Change(Sender: TObject);
begin
if combobox1.ItemIndex <>3 then
edit2.Enabled :=true
else
edit2.Enabled :=false;
edit2.Text :='';
end;
procedure Tfstockquery.ComboBox2Change(Sender: TObject);
begin
if combobox2.ItemIndex <>3 then
edit3.Enabled :=true
else
edit3.Enabled :=false;
edit3.Text :='';
end;
procedure Tfstockquery.QueryBitBtnClick(Sender: TObject);
var i:integer;
total:real;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -