dfm_sstoout.pas

来自「仓库管理系统 仓库管理系统」· PAS 代码 · 共 166 行

PAS
166
字号
unit dfm_sstoout;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, Db, DBTables, Mask,
  DBCtrls, ADODB, DBGridEh, ppProd, ppClass, ppReport, ppComm, ppRelatv,
  ppDB, ppDBPipe, ppBands, ppCtrls, ppPrnabl, ppCache;

type
  Tdfmsstoout = class(TForm)
    StatusBar1: TStatusBar;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    ADOTable1: TADOTable;
    ADOTable2: TADOTable;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    DBGridEh1: TDBGridEh;
    Panel1: TPanel;
    Label11: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    postbtn: TBitBtn;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Edit1: TEdit;
    Panel2: TPanel;
    Label6: TLabel;
    Edit2: TEdit;
    BitBtn1: TBitBtn;
    DBGridEh2: TDBGridEh;
    Aqrystoutno: TADOQuery;
    DataSource2: TDataSource;
    ADOTable3: TADOTable;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    ppDBPipeline1: TppDBPipeline;
    ppReport1: TppReport;
    ppHeaderBand1: TppHeaderBand;
    ppDetailBand1: TppDetailBand;
    ppFooterBand1: TppFooterBand;
    ppLabel1: TppLabel;
    ppLabel2: TppLabel;
    ppLabel3: TppLabel;
    ppLabel4: TppLabel;
    ppLabel7: TppLabel;
    ppLabel8: TppLabel;
    ppDBText1: TppDBText;
    ppDBText2: TppDBText;
    ppDBText3: TppDBText;
    ppDBText6: TppDBText;
    ppDBText7: TppDBText;
    ppLabel5: TppLabel;
    ppLabel6: TppLabel;
    ppDBText4: TppDBText;
    ppDBText5: TppDBText;
    ppLabel9: TppLabel;
    ppDBCalc1: TppDBCalc;
    ppSummaryBand1: TppSummaryBand;
    ppLine1: TppLine;
    ppLine2: TppLine;
    ppLine3: TppLine;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure quitbtnClick(Sender: TObject);
    procedure postbtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  dfmsstoout: Tdfmsstoout;

implementation

uses  dbmRainbowMis, chHeadUnit;

{$R *.DFM}

procedure Tdfmsstoout.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  adotable1.close;
  adotable2.close;
  ADOTable3.close;
  action:=cafree;
end;

procedure Tdfmsstoout.quitbtnClick(Sender: TObject);
begin
  close;
end;

procedure Tdfmsstoout.postbtnClick(Sender: TObject);
var
  fstr:string;
begin
  fstr:='SELECT cdate, csendbra, cinceptbra, clabel, left(t_stoout.spbh,%d) as spbh, sum(t_stoout.sl) as sl FROM t_stoout'
       +' where cinceptbra like ''%s'' and csendbra like ''%s'' and clabel like ''%s'' and cdate>=#%s# and cdate<=#%s#'
       +' GROUP BY cdate, csendbra, cinceptbra, clabel, left(t_stoout.spbh,%d)';
  with ADOQuery1 do
  begin
    close;
    sql.Clear ;
    sql.Add(Format(fstr,[strtoint(trim(edit1.Text)),chHeadUnit.getbmh(ComboBox1.text)+'%',chHeadUnit.getbmh(ComboBox2.text)+'%',
    trim(ComboBox3.text)+'%',datetostr(DateTimePicker1.Date),datetostr(DateTimePicker2.Date),strtoint(trim(edit1.Text))]));
    Prepared;
    open;
  end;
end;

procedure Tdfmsstoout.FormCreate(Sender: TObject);
begin
  adotable1.Open;
  adotable2.Open;
  ADOTable3.Open;
  chHeadUnit.combolist(combobox1,adotable1,'bmh','bmmc',2);
  chHeadUnit.combolist(combobox2,adotable1,'bmh','bmmc',2);
  chHeadUnit.combolist(combobox3,adotable2,'clabel','cfactory',1);
  DateTimePicker1.Date:=date();
  DateTimePicker2.Date:=date();
  combobox2.Text:=ADOTable3['bmh'];
  combobox3.Text:=dmRainbowMIS.atbldefault['clabel'];
end;

procedure Tdfmsstoout.BitBtn1Click(Sender: TObject);
begin
  with Aqrystoutno do
  begin
    close;
    Parameters.ParamByName ('vstoutno').value:=trim(Edit2.text);
    open;
  end;  
end;

procedure Tdfmsstoout.BitBtn2Click(Sender: TObject);
begin
  if TCustomADODataSet(Aqrystoutno).RecordCount>0 then
  begin
    Aqrystoutno.SaveToFile(fst+'dataout\'+trim(Aqrystoutno['csendbra'])+'db'+Aqrystoutno['cstoutno']+'.dtg');
    application.MessageBox('已生成调拔单!','提示信息',0);
  end
  else
    application.MessageBox('没有内容无法生成调拔单!','提示信息',0)
end;

procedure Tdfmsstoout.BitBtn3Click(Sender: TObject);
begin
  ppReport1.Print;
end;

end.

⌨️ 快捷键说明

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