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

📄 ustockquery.~pas

📁 是分布式粮库程序,是采用Delphi实现的
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
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 + -