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

📄 unitmatenumplanqry.~pas

📁 仓储系统
💻 ~PAS
字号:
unit UnitMateNumPlanQry;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, RXCtrls, StdCtrls, ComCtrls, Buttons, ExtCtrls,
  DB, ADODB;

type
  TfrmMateNumPlanQry = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    sbtncode: TSpeedButton;
    Label4: TLabel;
    lblwlmc: TLabel;
    lblWllb: TLabel;
    dtpfrom: TDateTimePicker;
    dtpto: TDateTimePicker;
    edtWlbm: TEdit;
    btnQry: TButton;
    btnPrint: TButton;
    btnClose: TButton;
    cbbLb: TComboBox;
    Panel3: TPanel;
    Panel16: TPanel;
    RxLabel7: TRxLabel;
    lbl_HuiZong: TRxLabel;
    DBGrid1: TDBGrid;
    ADOQuery_sql: TADOQuery;
    dsPlan: TDataSource;
    procedure FormShow(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure dtptoExit(Sender: TObject);
  private
    { Private declarations }
    listLb,listLbmc:array of string;
  public
    { Public declarations }
  end;

var
  frmMateNumPlanQry: TfrmMateNumPlanQry;

implementation

uses UnitDm;

{$R *.dfm}

procedure TfrmMateNumPlanQry.FormShow(Sender: TObject);
var
  str:string;
begin
  str:=' select a.PlanNo as 计划编号,d.mate_code as 物料编码,d.mate_name as 物料名称,                        '+
       '       d.mate_type as 规格型号,d.mate_class as 物料类别,                        '+
       '         (isNull(a.In_Sum,0)) as 累计入库数,(isNull(a.Out_Sum,0))as 累计出库数, '+
       '          (a.PlanNum-isNull(a.In_Sum,0)+isNull(a.Out_Sum,0)) as 上周库存数,      '+
       '         (isNull(b.In_Amount,0)) as 本周入库数,                                 '+
       '         (isNull(c.Out_Amount,0)) as 本周出库数,                                '+
       '         (isNull(a.In_Sum,0)-isNull(a.Out_Sum,0)) as 现库存数                                  '+
       '      from PlanNum a                                                            '+
       '     left outer join product_rk b on a.planNo=b.plan_id                         '+
       '     left outer join mate_ck c on a.planNo=c.plan_id                            '+
       '     left outer join mate_basic d on a.mate_code=d.mate_code   ';               
  with ADOQuery_sql do
  begin
    close;
    sql.Clear;
    sql.Add(str);
    open;
  end;
  lbl_HuiZong.Caption:=inttostr(ADOQuery_sql.RecordCount)+' 条';
end;

procedure TfrmMateNumPlanQry.btnCloseClick(Sender: TObject);
begin
  close;
end;

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

procedure TfrmMateNumPlanQry.FormCreate(Sender: TObject);
var
  i:integer;
begin
  dtpfrom.Date:=now;
  dtpto.Date:=IncMonth(date(),1);
  //
  with dm.qry_MateClass do
  begin
    close;
    sql.Clear;
    sql.add('select * from MateClass order by MClass_No');
    open;
  end;
  setlength(listLb,dm.qry_MateClass.recordcount);
  setlength(listLbmc,dm.qry_MateClass.recordcount);
  cbbLb.Items.clear;
  cbbLb.Items.add('全部');
  for i:=0 to dm.qry_MateClass.recordcount - 1 do
  begin
    listLb[i]:=trim(dm.qry_MateClass.fieldbyname('MClass_No').asstring);
    listLbmc[i]:=trim(dm.qry_MateClass.fieldbyname('MClass_Name').asstring);
    cbbLb.items.Add(listLb[i]+' '+listLbmc[i]);
    dm.qry_MateClass.next;
  end;
end;

procedure TfrmMateNumPlanQry.dtptoExit(Sender: TObject);
begin
  if btnClose.focused   then
  begin
     btnClose.OnClick(Sender);
     exit;
  end;
  //
  if dtpto.date<dtpfrom.date then
  begin
    application.MessageBox('终止日期不能小于起始日期','提示',MB_OK+MB_DEFBUTTON1);
    dtpto.SetFocus;
    exit;
  end;
end;

end.

⌨️ 快捷键说明

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