ssbcx.pas

来自「一个仓库管理中的子系统--采购子系统」· PAS 代码 · 共 373 行

PAS
373
字号
unit ssbcx;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, ComCtrls,QuickRpt;

type
  TssbcxForm = class(TForm)
    BitBtn1: TBitBtn;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel1: TPanel;
    rwmcLabel: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    yxnxLabel: TLabel;
    Label18: TLabel;
    lshLabel: TLabel;
    Label20: TLabel;
    bzsjLabel: TLabel;
    bdidLabel: TLabel;
    Label23: TLabel;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    Label8: TLabel;
    Label44: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    bzfzrLabel: TLabel;
    shrLabel: TLabel;
    pzrLabel: TLabel;
    bzqzrqLabel: TLabel;
    shrqLabel: TLabel;
    pzrqLabel: TLabel;
    TabSheet2: TTabSheet;
    Label1: TLabel;
    Panel3: TPanel;
    rwmcLabel1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    yxnxLabel1: TLabel;
    Label6: TLabel;
    lshLabel1: TLabel;
    Label9: TLabel;
    bzsjLabel1: TLabel;
    bdidLabel1: TLabel;
    Label19: TLabel;
    DBGrid2: TDBGrid;
    Panel4: TPanel;
    Label21: TLabel;
    Label22: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    bzfzrLabel1: TLabel;
    shrLabel1: TLabel;
    pzrLabel1: TLabel;
    bzqzrqLabel1: TLabel;
    shrqLabel1: TLabel;
    pzrqLabel1: TLabel;
    Label2: TLabel;
    printButton: TSpeedButton;
    EditBtn: TBitBtn;
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure PageControl1Change(Sender: TObject);
    procedure EditBtnClick(Sender: TObject);
    procedure printButtonClick(Sender: TObject);
  private
  FReport : TQuickRep;
  procedure SetReport(Value : TQuickRep);
    { Private declarations }
  public
  property Report : TQuickRep read FReport write SetReport;
    { Public declarations }
  end;

var
  ssbcxForm: TssbcxForm;

implementation

uses Datamodule, ssbedit, sqbinput, ssbreport, bhgsqbreport, bhgsqbedit;

{$R *.DFM}
procedure TssbcxForm.SetReport(Value : TQuickRep);
begin
  FReport:=Value;
end;

procedure TssbcxForm.FormActivate(Sender: TObject);
begin
    pagecontrol1.ActivePage:=tabSheet1;
    with Datamodule1.ssbxbQuery do
    begin
    close;
    sql.Clear;
    sql.Add('select cpbh as 产品编号,cpmc as 产品名称,xhgg as 型号规格,jhy as 计划员,');
    sql.Add('jldw as 计量单位,sbsl as 申报数量,sbrq as 申报日期,kcsl as 库存数量,');
    sql.Add('xcgsl as 需采购数量,ycdhsj as 预测到货时间,xqdw as 需求单位,cgslhs as 采购数量核实,bz as 备注');
    sql.add('From dbo.a_cgssxb');
    sql.Add('where sqbid='+''''+bdidLabel.caption+'''');
    prepare;
    open;
    end;
    with datamodule1.PublicQuery1 do
    begin
    close;
    sql.Clear;
    sql.Add('select * from dbo.a_cghzglb');
    sql.Add('where sqbid='+''''+bdidLabel.caption+''''+' and hg_flag='+''''+'0'+'''');
    prepare;
    open;
    if recordCount=0 then
    begin
    close;
    label2.Visible:=True;
    dbGrid2.Visible:=false;
    exit;
    end
    else
    begin
    with datamodule1.bhgsqbquery do
    begin
    sql.Clear;
    sql.Add('select dbo.a_cgsqxb.cpbh as 产品编号,dbo.a_cgsqxb.cpmc as 产品名称,dbo.a_cgsqxb.xhgg as 型号规格,dbo.a_cgsqxb.jldw as 计量单位,');
    sql.Add('dbo.a_cgsqxb.sbsl as 申请数量,dbo.a_cgsqxb.sccj as 生产厂家,dbo.a_cgsqxb.gjje as 估计金额,dbo.a_cgsqxb.yyhrw as 用于何任务,dbo.a_cgsqxb.sjyq as 时间要求,dbo.a_bhgsqxb.ly as 理由');
    sql.Add(' from dbo.a_cgsqxb,dbo.a_bhgsqxb where dbo.a_cgsqxb.cpbh=dbo.a_bhgsqxb.cpbh and dbo.a_cgsqxb.sqbid=dbo.a_bhgsqxb.sqbid and dbo.a_bhgsqxb.sqbid='+''''+bdidLabel.caption+'''');
    prepare;
    open;
    end;
    close;
    label2.Visible:=False;
    dbGrid2.Visible:=True;
    end;
    end;
end;

procedure TssbcxForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    datamodule1.publicQuery3.RequestLive:=false;
    datamodule1.ssbxbQuery.close;
    ssbcxForm.Release;
end;

procedure TssbcxForm.PageControl1Change(Sender: TObject);
begin
    if pageControl1.activePage=Tabsheet2 then
    begin
    rwmcLabel1.Caption:=rwmcLabel.Caption;
    yxnxlabel1.Caption:=yxnxlabel.Caption;
    lshLabel1.Caption:=lshLabel.Caption;
    bdidLabel1.Caption:=bdidLabel.Caption;
    bzsjlabel1.Caption:=bzsjlabel.Caption;
    bzfzrLabel1.Caption:=bzfzrLabel.Caption;
    shrlabel1.Caption:=shrlabel.Caption;
    pzrlabel1.Caption:=pzrlabel.Caption;
    bzqzrqLabel1.Caption:=bzqzrqLabel.Caption;
    shrqLabel1.Caption:=shrqLabel.Caption;
    pzrqLabel1.Caption:=pzrqLabel.Caption;
    end;
end;

procedure TssbcxForm.EditBtnClick(Sender: TObject);
begin
    if pageControl1.ActivePage=Tabsheet1 then
    begin
    ssbeditForm:=TssbeditForm.Create(application);
    with datamodule1.ssbxbQuery do
    begin
    with ssbeditForm do
    begin
    sbslEdit.Text:=FieldByname('申报数量').asstring;
    ycdhsjEdit.Text:=sqinputForm.ShowMeDate(FieldByName('预测到货时间').asstring);
    bzEdit.Text:=FieldByname('备注').asstring;
    cpbhEdit.Text:=FieldByname('产品编号').asstring;
    cpmcEdit.Text:=FieldByname('产品名称').asstring;
    xhggEdit.Text:=FieldByName('型号规格').asstring;
    kcslEdit.Text:=FieldByname('库存数量').asstring;
    xcgslEdit.Text:=FieldbyName('需采购数量').asstring;
    sqdwEdit.Text:=FieldByname('需求单位').asstring;
    jldwEdit.Text:=FieldByname('计量单位').asstring;
    cgslhsEdit.text:=FieldByname('采购数量核实').asstring;
    end;
    end;
    with ssbeditForm do
    begin
    bdidlabel.Caption:=ssbcxForm.bdidLabel.Caption;
    rwmclabel.Caption:=ssbcxForm.rwmcLabel.Caption;
    yxnxlabel.Caption:=ssbcxForm.yxnxLabel.Caption;
    lshedit.Text:=ssbcxForm.lshLabel.Caption;
    bzsjedit.Text:=ssbcxForm.bzsjlabel.caption;
    bzfzrcombo.Text:=ssbcxForm.bzfzrLabel.Caption;
    shrCombo.Text:=ssbcxForm.shrLabel.Caption;
    pzrCombo.Text:=ssbcxForm.pzrLabel.Caption;
    bzfzrqzedit.Text:=ssbcxForm.bzqzrqlabel.Caption;
    shrqedit.Text:=ssbcxForm.shrqLabel.Caption;
    pzrqedit.Text:=ssbcxForm.pzrqLabel.Caption;
    end;
    hide;
    ssbeditForm.ShowModal;
    ssbeditForm.free;
    show;
    end
    else
    if pagecontrol1.ActivePage=TabSheet2 then
    begin
    bhgsqbeditFOrm:=TbhgsqbeditFOrm.Create(application);
    hide;
    bhgsqbeditFOrm.ShowModal;
    bhgsqbeditForm.sqbidcode:=bdidlabel.Caption;
    bhgsqbeditFOrm.free;
    show;
    end;
end;

procedure TssbcxForm.printButtonClick(Sender: TObject);
begin
   if PageControl1.ActivePage=TabSheet1 then
   begin
   ssbReportForm:=TssbReportForm.Create(application);
   Report:=ssbReportform.QuickRep;
    with dataModule1.publicquery1 do
    begin
    close;
    sql.Clear;
    sql.Add('select * From dbo.a_cgsszb');
    sql.Add('where sqbid='+''''+bdidlabel.caption+'''');
    prepare;
    open;
    with ssbreportForm do
    begin
    rwmcQR.DataField:=FieldByName('rwmc').fieldName;
    rwmcqr.DataSet:=datamodule1.PublicQuery1;
    yxnxqr.DataField:=fieldByName('yxnx').fieldname;
    yxnxqr.DataSet:=datamodule1.PublicQuery1;
    lshqr.DataField:=fieldByName('lsh').Fieldname;
    lshqr.DataSet:=datamodule1.PublicQuery1;
    pzrQR.DataField:=fieldByName('pzr').Fieldname;
    pzrQR.DataSet:=datamodule1.PublicQuery1;
    pzrqQR.DataField:=fieldByName('pzrq').Fieldname;
    pzrqQR.DataSet:=datamodule1.PublicQuery1;
    shrQR.DataField:=fieldByName('shr').Fieldname;
    shrQR.DataSet:=datamodule1.PublicQuery1;
    shrqQR.DataField:=fieldByName('shrq').Fieldname;
    shrqQR.DataSet:=datamodule1.PublicQuery1;
    year.caption:=copy(fieldByName('bzsj').asstring,1,4);
    month.caption:=copy(fieldByName('bzsj').asstring,5,2);
    day.caption:=copy(fieldByName('bzsj').asstring,7,2);
    //bzrqQR.DataField:=fieldByName('bzsj').Fieldname;
    //bzrqQR.DataSet:=datamodule1.PublicQuery1;
    bzqzQR.DataField:=fieldByName('bzqzrq').Fieldname;
    bzqzQR.DataSet:=datamodule1.PublicQuery1;
    sqbidQR.DataField:=fieldByName('sqbid').Fieldname;
    sqbidQR.DataSet:=datamodule1.PublicQuery1;
    bzfzrQR.DataField:=fieldByName('bzfzr').Fieldname;
    bzfzrQR.DataSet:=datamodule1.PublicQuery1;
    end;
    end;
    with datamodule1.ssbxbQuery do
   begin
   with  ssbreportForm do
   begin
   cpmcqr.DataField:=FieldByName('产品名称').fieldName;
   xhggQR.DataField:=FieldByName('型号规格').fieldName;
   jldwQR.DataField:=FieldByName('计量单位').fieldName;
   sbslQR.DataField:=FieldByName('申报数量').fieldName;
   sqsjQR.DataField:=FieldByName('申报日期').fieldName;
   kcslQr.DataField:=FieldByname('库存数量').FieldName;
   xcgslQR.DataField:=FieldByname('需采购数量').FieldName;
   ycdhsjQR.DataField:=FieldByname('预测到货时间').Fieldname;
   xqdwQR.DataField:=FieldByName('需求单位').FieldName;
   cgslhsQR.DataField:=FieldByname('采购数量核实').Fieldname;
   bzqr.DataField:=FieldByName('备注').Fieldname;
   end;
   end;
   Report.Preview;
   ssbReportForm.Close;
   ssbreportForm.free;
   end;

   if (PageControl1.ActivePage=tabsheet2) and dbGrid2.Visible then
   begin
   BhgsqReportForm:=TbhgsqReportForm.Create(application);
   Report:=bhgsqreportForm.QuickRep;
    with dataModule1.publicquery1 do
    begin
    close;
    sql.Clear;
    sql.Add('select * From dbo.a_cgsszb');
    sql.Add('where sqbid='+''''+bdidlabel.caption+'''');
    prepare;
    open;
    with bhgsqreportForm do
    begin
    rwmcQR.DataField:=FieldByName('rwmc').fieldName;
    rwmcqr.DataSet:=datamodule1.PublicQuery1;
    yxnxqr.DataField:=fieldByName('yxnx').fieldname;
    yxnxqr.DataSet:=datamodule1.PublicQuery1;
    lshqr.DataField:=fieldByName('lsh').Fieldname;
    lshqr.DataSet:=datamodule1.PublicQuery1;
    pzrQR.DataField:=fieldByName('pzr').Fieldname;
    pzrQR.DataSet:=datamodule1.PublicQuery1;
    pzrqQR.DataField:=fieldByName('pzrq').Fieldname;
    pzrqQR.DataSet:=datamodule1.PublicQuery1;
    shrQR.DataField:=fieldByName('shr').Fieldname;
    shrQR.DataSet:=datamodule1.PublicQuery1;
    shrqQR.DataField:=fieldByName('shrq').Fieldname;
    shrqQR.DataSet:=datamodule1.PublicQuery1;
    //sqrqQR.DataField:=fieldByName('bzsj').Fieldname;
    //sqrqQR.DataSet:=datamodule1.PublicQuery1;
    year.caption:=copy(fieldByName('bzsj').asstring,1,4);
    month.caption:=copy(fieldByName('bzsj').asstring,5,2);
    day.caption:=copy(fieldByName('bzsj').asstring,7,2);
    bzqzQR.DataField:=fieldByName('bzqzrq').Fieldname;
    bzqzQR.DataSet:=datamodule1.PublicQuery1;
    sqbidQR.DataField:=fieldByName('sqbid').Fieldname;
    sqbidQR.DataSet:=datamodule1.PublicQuery1;
    bzfzrQR.DataField:=fieldByName('bzfzr').Fieldname;
    bzfzrQR.DataSet:=datamodule1.PublicQuery1;
    end;
    end;
    with dataModule1.PublicQuery2 do
    begin
    close;
    sql.Clear;
    sql.Add('select sqdw from dbo.a_cgsqzb');
    sql.Add('where sqbid='+''''+bdidlabel.caption+'''');
    prepare;
    open;
    with bhgsqreportForm do
    begin
    sqdwqr.DataField:=FieldByname('sqdw').FieldName;
    sqdwqr.DataSet:=datamodule1.publicQuery2;
    end;
    end;
    with datamodule1.publicQuery3 do
    begin
    requestlive:=false;
    close;
    sql.clear;
    sql.Add('select dbo.a_cgsqxb.cpbh as 产品编号,dbo.a_cgsqxb.cpmc as 产品名称,dbo.a_cgsqxb.xhgg as 型号规格,dbo.a_cgsqxb.jldw as 计量单位,dbo.a_cgsqxb.sbsl as 申请数量,');
    sql.add('dbo.a_bhgsqxb.HGWCJMC as 生产厂家,dbo.a_cgsqxb.gjje as 估计金额,dbo.a_cgsqxb.yyhrw as 用于何任务,dbo.a_cgsqxb.sjyq as 时间要求,');
    sql.Add('dbo.a_bhgsqxb.ly as 理由 from dbo.a_bhgsqxb,dbo.a_cgsqxb');
    sql.Add('where dbo.a_cgsqxb.sqbid=dbo.a_bhgsqxb.sqbid and dbo.a_cgsqxb.cpbh=dbo.a_bhgsqxb.cpbh and dbo.a_cgsqxb.sqbid='+''''+bdidlabel.caption+'''');
    prepare;
    open;
    with  bhgsqreportForm do
    begin
    cpmcqr.DataField:=FieldByName('产品名称').fieldName;
    xhggQR.DataField:=FieldByName('型号规格').fieldName;
    jldwQR.DataField:=FieldByName('计量单位').fieldName;
    sbslQR.DataField:=FieldByName('申请数量').fieldName;
    gjjeQR.DataField:=FieldByName('估计金额').fieldName;
    sccjQR.DataField:=FieldByName('生产厂家').fieldName;
    yyhrwQR.DataField:=FieldByName('用于何任务').fieldName;
    sjyqQR.DataField:=FieldByName('时间要求').fieldName;
    lyQR.DataField:=FieldByName('理由').fieldName;
    end;
    end;
    Report.Preview;
    bhgsqReportForm.close;
    bhgsqReportForm.free;
   end;
end;

end.

⌨️ 快捷键说明

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