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

📄 ulltj.pas

📁 工廠倉庫管理系統
💻 PAS
字号:
unit ulltj;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, RzPanel, RzSplit, RzButton, DBCtrls, StdCtrls,
  ComCtrls, RzDTP, RzTabs, Grids, DBGrids, DB, ADODB, Mask, FR_DSet,
  FR_DBSet, FR_Class;

type
  Tfrmlltj = class(TForm)
    RzSizePanel1: TRzSizePanel;
    Panel1: TPanel;
    RzBitBtn4: TRzBitBtn;
    RzBitBtn5: TRzBitBtn;
    RzBitBtn6: TRzBitBtn;
    dtp1: TRzDateTimePicker;
    dtp2: TRzDateTimePicker;
    Label1: TLabel;
    DBNavigator1: TDBNavigator;
    TreeView1: TTreeView;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    ADOQuery3: TADOQuery;
    DataSource1: TDataSource;
    RzBitBtn7: TRzBitBtn;
    frReport1: TfrReport;
    frDBDataSet1: TfrDBDataSet;
    DBGrid1: TDBGrid;
    ADOQuery1DSDesigner: TStringField;
    ADOQuery1DSDesigner2: TStringField;
    ADOQuery1DSDesigner3: TStringField;
    ADOQuery1DSDesigner4: TStringField;
    ADOQuery1DSDesigner5: TStringField;
    ADOQuery1DSDesigner6: TStringField;
    ADOQuery1DSDesigner7: TBCDField;
    ADOQuery1DSDesigner8: TBCDField;
    ADOQuery1DSDesigner9: TBCDField;
    procedure FormCreate(Sender: TObject);
    procedure csh();
    procedure dtp1Exit(Sender: TObject);
    procedure dtp2Exit(Sender: TObject);
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure RzBitBtn7Click(Sender: TObject);
    procedure RzBitBtn6Click(Sender: TObject);
    procedure RzBitBtn5Click(Sender: TObject);
    procedure RzBitBtn4Click(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmlltj: Tfrmlltj;

implementation
uses uconst,ufunction,udm1,ucx;
{$R *.dfm}
procedure tfrmlltj.csh();
var
node:ttreenode;
node1:ttreenode;
begin
TreeView1.Items.Clear;
strsql:='select distinct hthm from ddk where srrq>=:rq1 and srrq<=:rq2 and hthm in ('+
'select hthm from llqk_detail) order by hthm asc';
if adoquery2.Active then adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add(strsql);
adoquery2.Parameters.ParamByName('rq1').Value:=dtp1.Date;
adoquery2.Parameters.ParamByName('rq2').Value:=dtp2.Date;
adoquery2.Open;
if not(adoquery2.Recordset.EOF and adoquery2.Recordset.BOF) then
      begin
            adoquery2.First;
            node:=treeview1.Items.AddFirst(nil,'排单安排列表');
            while not adoquery2.Eof do
            begin
                  node1:=treeview1.Items.AddChild(node,trim(adoquery2.fieldbyname('hthm').AsString));
                  strsql:='select distinct gcdh from ddk where hthm='+''''+trim(adoquery2.fieldbyname('hthm').AsString)+
                  ''''+'order by gcdh asc';
                  adoexect(adoquery3,strsql);
                  adoquery3.First;
                  while not adoquery3.Eof do
                  begin
                       treeview1.Items.AddChild(node1,trim(adoquery3.fieldbyname('gcdh').AsString));
                       adoquery3.Next;
                  end;
                  adoquery2.Next;
            end;
       end;
adoquery2.Close;
adoquery3.Close;
end;
procedure Tfrmlltj.FormCreate(Sender: TObject);
begin
adoquery1.Connection:=dm1.ADOConnection1;
adoquery2.Connection:=dm1.ADOConnection1;
adoquery3.Connection:=dm1.ADOConnection1;
dtp1.Date:=date-30;
dtp2.Date:=date;
csh;
end;

procedure Tfrmlltj.dtp1Exit(Sender: TObject);
begin
csh;
end;

procedure Tfrmlltj.dtp2Exit(Sender: TObject);
begin
csh;
end;

procedure Tfrmlltj.TreeView1Change(Sender: TObject; Node: TTreeNode);

begin
case node.Level of
   0:
     begin
          strsql:='select llqk_detail.wldm as 物料代码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
          'dw as 单位,gysdm as 供应商,sum(llqk_detail.xql) as 需求量,sum(ylsl) as 已领数量,'+
          'sum(wlsl) as 未领数量 from llqk_detail,wldmk where llqk_detail.wldm=wldmk.wldm and'+
          ' hthm in(select hthm from ddk where ddk.srrq>='+''''+datetostr(dtp1.Date)+''''+
          ' and ddk.srrq<='+''''+datetostr(dtp2.Date)+'''';
          ' group by llqk_detail.wldm,wlmc,wlys,wlsh,dw,gysdm order by llqk_detail.wldm asc';
     end;
   1:
     begin
          strsql:='select llqk_detail.wldm as 物料代码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
          'dw as 单位,gysdm as 供应商,sum(llqk_detail.xql) as 需求量,sum(ylsl) as 已领数量,'+
          'sum(wlsl) as 未领数量 from llqk_detail,wldmk where llqk_detail.wldm=wldmk.wldm '+
          ' and hthm='+''''+trim(node.Text)+'''';
          ' group by llqk_detail.wldm,wlmc,wlys,wlsh,dw,gysdm order by llqk_detail.wldm asc';
     end;
   2:
     begin
          strsql:='select llqk_detail.wldm as 物料代码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
          'dw as 单位,gysdm as 供应商,sum(llqk_detail.xql) as 需求量,sum(ylsl) as 已领数量,'+
          'sum(wlsl) as 未领数量 from llqk_detail,wldmk where llqk_detail.wldm=wldmk.wldm '+
          ' and gdhm='+''''+trim(node.Text)+'''';
          'group by llqk_detail.wldm,wlmc,wlys,wlsh,dw,gysdm order by llqk_detail.wldm asc';

     end;
end;

adoexect(adoquery1,strsql);


end;

procedure Tfrmlltj.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;

procedure Tfrmlltj.RzBitBtn7Click(Sender: TObject);
begin
close;
end;

procedure Tfrmlltj.RzBitBtn6Click(Sender: TObject);
begin
frmcx:=tfrmcx.Create(self);
frmcx.adocx:=adoquery1;
frmcx.ShowModal;
adoquery1:=frmcx.adocx;
ADOquery1.Requery();
dbgrid1.Refresh;
end;

procedure Tfrmlltj.RzBitBtn5Click(Sender: TObject);
begin
frReport1.DoublePass := True;
frReport1.Clear;
frReport1.LoadFromFile(strpath+'/report/pdllqk.frf');
frVariables['username']:=username;
frreport1.ShowReport;
end;

procedure Tfrmlltj.RzBitBtn4Click(Sender: TObject);
begin
frReport1.DoublePass := True;
frReport1.Clear;
frReport1.LoadFromFile(strpath+'/report/pdllqk.frf');
frVariables['username']:=username;
frreport1.DesignReport;
end;

procedure Tfrmlltj.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
if adoquery1.FieldByName('未领数量').Value > 0 then
   begin
   dbgrid1.Canvas.Brush.Color:=clYellow;
   dbgrid1.DefaultDrawColumnCell(rect,datacol,column,[gdfixed,gdfocused,gdselected]);
   end;
end;

end.

⌨️ 快捷键说明

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