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

📄 uqueryplan.pas

📁 港口货物管理系统
💻 PAS
字号:
unit uqueryplan;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, ComCtrls, Buttons, DB, DBTables, Grids,
  DBGrids, dbcgrids, Mask;

type
  Tfmqueryplan = class(TForm)
    Label1: TLabel;
    DBGrid1: TDBGrid;
    Table1: TTable;
    Table2: TTable;
    Table3: TTable;
    DataSource1: TDataSource;
    BitBtn1: TBitBtn;
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    DBLookupComboBox1: TDBLookupComboBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    BitBtn2: TBitBtn;
    Query1: TQuery;
    Query2: TQuery;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    StatusBar1: TStatusBar;
    Memo1: TMemo;
    ComboBox1: TComboBox;
    Label2: TLabel;
    Table1Ddate: TStringField;
    Table1Atnum: TStringField;
    Table1Agname: TStringField;
    Table1Adime: TStringField;
    Table1Nton: TFloatField;
    Table1Agoodd: TStringField;
    Table1Adir: TStringField;
    Table1Aowner: TStringField;
    Table1Abz: TStringField;
    Table1Lend: TBooleanField;
    Table1sumicoil: TIntegerField;
    Table1sumiton: TFloatField;
    Table1sumocoil: TIntegerField;
    Table1sumoton: TFloatField;
    GroupBox2: TGroupBox;
    BitBtn3: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure FormClick(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure ComboBox1Change(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmqueryplan: Tfmqueryplan;

implementation

uses ulogin, udm_user, uprintdbgrid;

{$R *.dfm}

procedure Tfmqueryplan.FormCreate(Sender: TObject);
begin
application.OnMessage:=fmlogin.doenterastab;
combobox1.ItemIndex:=strtoint(formatdatetime('mm',date()))-1;
end;

procedure Tfmqueryplan.CheckBox1Click(Sender: TObject);
begin
fmqueryplan.Click;
end;

procedure Tfmqueryplan.FormClick(Sender: TObject);
begin
if checkbox2.State=cbunchecked then
begin
dblookupcombobox1.ListFieldIndex:=-1;
dblookupcombobox1.Visible:=false;
end
else
begin
dblookupcombobox1.listfieldindex:=0;
dblookupcombobox1.Visible:=true;
end;

if checkbox3.State=cbunchecked then
begin
edit1.Text:='';
edit1.Visible:=false;
end
else
begin
edit1.Text:='';
edit1.Visible:=true;
end;


end;

procedure Tfmqueryplan.CheckBox2Click(Sender: TObject);
begin
fmqueryplan.Click;
end;

procedure Tfmqueryplan.CheckBox3Click(Sender: TObject);
begin
fmqueryplan.Click;
end;

procedure Tfmqueryplan.FormActivate(Sender: TObject);
begin
fmqueryplan.Click;
edit1.Text:='';
memo1.Clear;
bitbtn2.enabled:=false;
end;

procedure Tfmqueryplan.BitBtn1Click(Sender: TObject);
var pstr,pstr1,pstr2:string;
    sumton:single;
    i:integer;
begin
pstr:='';
pstr:='select * from mplan where ';
if combobox1.ItemIndex=12 then
pstr:=pstr+'ddate<>'+''''+''''
else
pstr:=pstr+'ddate='+''''+combobox1.Text+'''';
if checkbox2.Checked=true then
pstr:=pstr+'and agoodd='+''''+dblookupcombobox1.Text+'''';
if checkbox3.Checked=true then
pstr:=pstr+'and atnum='+''''+edit1.Text+'''';
pstr:=pstr+'order by ddate,agoodd,agname';

query2.Close;
query2.SQL.clear;
query2.SQL.Add(pstr);
query2.Open;

sumton:=0;
query1.First;
for i:=1 to query2.RecordCount
do
begin
sumton:=sumton+query2.FieldValues['nton'];
query2.Next;
end;
statusbar1.Panels[2].Text:=formatfloat('0.000',sumton);
statusbar1.Panels[1].Text:=inttostr(query2.RecordCount)+' 个记录';
memo1.clear;
if query2.RecordCount>0 then
bitbtn2.enabled:=true
else
bitbtn2.enabled:=false;
end;


procedure Tfmqueryplan.DBGrid1CellClick(Column: TColumn);
var i,aa,bb:integer;
    mm,nn:single;

begin
 aa:=0;
 mm:=0;
 bb:=0;
 nn:=0;
    try
      table2.DisableControls;
      table2.Active:=true;
      table2.First;
     while not  table2.eof
     do
      begin
          if (table2.FieldValues['atnum']=query2.FieldValues['atnum']) and (table2.FieldValues['agname']=query2.FieldValues['agname']) and  (table2.FieldValues['adime']=query2.FieldValues['adime'])
          then
            begin
            aa:=aa+table2.FieldValues['ncoil'];
            mm:=mm+table2.FieldValues['nton'];
            end;
            table2.Next;
       end;
      finally
     table2.EnableControls;
    end;

    try
      table3.DisableControls;
      table3.Active:=true;
      table3.First;
     while not  table3.eof
     do
      begin
          if (table3.FieldValues['atnum']=query2.FieldValues['atnum']) and (table3.FieldValues['agname']=query2.FieldValues['agname']) and  (table3.FieldValues['adime']=query2.FieldValues['adime'])
          then
            begin
            bb:=bb+table3.FieldValues['ncoil'];
            nn:=nn+table3.FieldValues['nton'];
            end;
            table3.Next;
       end;
      finally
     table3.EnableControls;
    end;

  memo1.Clear;
  memo1.Lines.add('提单号:'+query2.FieldValues['atnum']);
  memo1.Lines.add('货名:'+query2.FieldValues['agname']);
  memo1.Lines.add('规格:'+query2.FieldValues['adime']);
  memo1.Lines.add('计划吨位:'+formatfloat('0.000',query2.FieldValues['nton'])+'吨');
  memo1.Lines.Add('进货件数:'+inttostr(aa)+' 件');
  memo1.Lines.Add('进货吨位:'+floattostr(strtofloat(formatfloat('0.000',mm)))+' 吨');
  memo1.Lines.Add('出货件数:'+inttostr(bb)+' 件');
  memo1.Lines.Add('出货吨位:'+floattostr(strtofloat(formatfloat('0.000',nn)))+' 吨');
end;



procedure Tfmqueryplan.ComboBox1Change(Sender: TObject);
begin
if combobox1.ItemIndex=12 then
table1.Filtered:=false
else
begin
table1.Filter:='ddate='+combobox1.Text;
table1.Filtered:=true;
end;
end;

procedure Tfmqueryplan.BitBtn2Click(Sender: TObject);
begin
fmuser.fmid:=5;
application.CreateForm(tfmprintdbgrid,fmprintdbgrid);
fmprintdbgrid.showmodal;
end;

procedure Tfmqueryplan.BitBtn3Click(Sender: TObject);
begin
fmqueryplan.Close;
end;

end.

⌨️ 快捷键说明

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