sqquery.pas

来自「一个仓库管理中的子系统--采购子系统」· PAS 代码 · 共 843 行 · 第 1/2 页

PAS
843
字号
unit sqquery;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, DBCtrls, Grids, DBGrids, Db, DBTables, Menus, StdCtrls,
  Buttons, ComCtrls,QuickRpt;
var zbstrselect,xbstrselect:string;
type
  TsqcxForm = class(TForm)
    MainMenu1: TMainMenu;
    cxsz: TMenuItem;
    N1: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    Panel1: TPanel;
    Label2: TLabel;
    rwmcLabel: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    yxnxLabel: TLabel;
    Label6: TLabel;
    Label4: TLabel;
    sqbidLabel: TLabel;
    Label1: TLabel;
    sqdwLabel: TLabel;
    lshLabel: TLabel;
    Label7: TLabel;
    Panel2: TPanel;
    Label8: TLabel;
    bzrLabel: TLabel;
    bzrqLabel: TLabel;
    Label9: TLabel;
    xqrqLabel: TLabel;
    Label10: TLabel;
    shrLabel: TLabel;
    shrqLabel: TLabel;
    Label11: TLabel;
    pzrLabel: TLabel;
    pzrqLabel: TLabel;
    xqfzrLabel: TLabel;
    Panel3: TPanel;
    Label12: TLabel;
    GroupBox1: TGroupBox;
    rwmcCheckBox: TCheckBox;
    yxnxCheckBox: TCheckBox;
    lshCheckBox: TCheckBox;
    rwmcEdit: TEdit;
    yxnxEdit: TEdit;
    lshEdit: TEdit;
    GroupBox2: TGroupBox;
    bzrCheckBox: TCheckBox;
    xqfzrCheckBox: TCheckBox;
    shrCheckBox: TCheckBox;
    bzrCombo: TComboBox;
    xqfzrCombo: TComboBox;
    shrCombo: TComboBox;
    RadioGroup1: TRadioGroup;
    GroupBox3: TGroupBox;
    sqdwCheckBox: TCheckBox;
    sqsjCheckBox: TCheckBox;
    sqdwCombo: TComboBox;
    sqsjEdit: TEdit;
    sqsjDate: TDateTimePicker;
    BitBtn1: TBitBtn;
    sqsjLabel: TLabel;
    Panel4: TPanel;
    cxztLabel: TLabel;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    RappendBtn: TBitBtn;
    printButton: TSpeedButton;
    Label13: TLabel;
    sqbNumLabel: TLabel;
    Label15: TLabel;
    N2: TMenuItem;
    Label14: TLabel;
    procedure N1Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure FormActivate(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure scssbBtnClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure sqbidLabelClick(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure RappendBtnClick(Sender: TObject);
    procedure printButtonClick(Sender: TObject);
    procedure sqsjDateCloseUp(Sender: TObject);
    procedure N2Click(Sender: TObject);
  private
     FReport : TQuickRep;
     procedure SetReport(Value : TQuickRep);
    { Private declarations }
  public
    Function  ShowMeDate(Date709str:string):string;
    procedure writeTableHead;
    Procedure DisOrEnable;
    { Public declarations }
    property Report : TQuickRep read FReport write SetReport;
  end;

var
  sqcxForm: TsqcxForm;

implementation

uses setupfrm1,datamodule, sccgssb,sqbinput, TimeRange, ssbcx, sqedit,
  sqappend, sqbreport, jhyxg;

{$R *.DFM}

procedure TsqcxForm.SetReport(Value : TQuickRep);
begin
  FReport:=Value;
end;

procedure TsqcxForm.N1Click(Sender: TObject);
begin
    setupForm1:=TsetupForm1.Create(application);
    hide;
    with setupform1 do
    begin
    if ShowModal=mrok then
    begin
    with Datamodule1 do
    begin
    with sqzbquery do
    begin
    SQL.clear;
    close;
    sql.Add(zbstrselect);
    SQL.add('from dbo.a_cgsqzb where sqbid like '+''''+edit1.text+''''+''''+'%'+'''');
    open;
    FieldByName('yxnx').Visible:=False;
    FieldByName('lsh').Visible:=False;
    FieldByName('sqrq').Visible:=False;
    FieldByName('xqrq').Visible:=False;
    FieldByName('bzrq').Visible:=False;
    FieldByName('shrq').Visible:=False;
    FieldByName('pzrq').Visible:=False;
    writeTableHead;
    end;
    sqxbquery.sql.clear;
    sqxbquery.close;
    sqxbquery.sql.Add(xbstrselect);
    sqxbquery.sql.Add('where sqbid='+''''+edit1.text+'''');
    sqxbquery.open;
    sqxbquery.FieldByName('jhy').Visible:=False;
    cxztLabel.Caption:='表单代码为'+edit1.Text+'的采购申请表';
    end;
    setupForm1.free;
    end;
    end;
    show;
end;

procedure TsqcxForm.N4Click(Sender: TObject);
var sqbidcode:string;
begin
    with datamodule1 do
    begin
    with sqzbquery do
    begin
    //disableControls;
    //try
    SQL.clear;
    close;
    sql.Add(zbstrselect);
    SQL.add('from dbo.a_cgsqzb');
    sql.Text:=sql.Text+'order by 表单代号 desc';
    open;
    FieldByName('yxnx').Visible:=False;
    FieldByName('lsh').Visible:=False;
    FieldByName('sqrq').Visible:=False;
    FieldByName('xqrq').Visible:=False;
    FieldByName('bzrq').Visible:=False;
    FieldByName('shrq').Visible:=False;
    FieldByName('pzrq').Visible:=False;
    First;
    writeTablehead;
    sqbidcode:=sqzbquery.Fields.Fields[0].asstring;
    //Finally
    //EnableControls;
    //end;
    end;
    with sqxbquery do
    begin
    sql.clear;
    close;
    sql.Add(xbstrselect);
    sql.Add('where sqbid='+''''+sqbidcode+'''');
    open;
    FieldByName('jhy').Visible:=False;
    end;
    end;
    cxztLabel.Caption:='所有已经提交的采购申请表';
end;

procedure TsqcxForm.DBGrid1CellClick(Column: TColumn);
var sqbidcode:string;
begin
   if (Column.Field=datamodule1.sqzbquery.Fields.Fields[0]) then
    begin
    sqbidcode:=column.Field.Text;
    with dataModule1 do
    begin
    writeTablehead;
    sqxbquery.sql.clear;
    sqxbquery.close;
    sqxbquery.sql.Add(xbstrselect);
    sqxbquery.sql.Add('where sqbid='+''''+sqbidcode+'''');
    sqxbquery.open;
    sqxbquery.FieldByName('jhy').Visible:=False;
    end;
   end;
end;

procedure TsqcxForm.writeTableHead;
begin
    with datamodule1.sqzbquery do
    begin
    with sqcxForm do
    begin
    sqbidlabel.Caption:=FieldByName('表单代号').asstring;
    rwmclabel.Caption:=FieldByName('任务名称').asstring;
    yxnxlabel.Caption:=FieldByname('yxnx').asstring;
    lshlabel.Caption:=FieldByName('lsh').asstring;
    sqdwlabel.Caption:=FieldByName('申请单位').asstring;
    sqsjlabel.Caption:=ShowmeDate(FieldByName('sqrq').asstring);
    xqfzrlabel.Caption:=FieldByName('需求部门负责人').asstring;
    xqrqlabel.Caption:=ShowmeDate(FieldByName('xqrq').asstring);
    bzrlabel.Caption:=FieldByName('编制人').asstring;
    bzrqlabel.Caption:=ShowmeDate(FieldByName('bzrq').asstring);
    shrlabel.Caption:=FieldByName('审核人').asstring;
    shrqlabel.Caption:=ShowmeDate(FieldByName('shrq').asstring);
    pzrlabel.Caption:=FieldByName('批准人').asstring;
    pzrqlabel.Caption:=ShowmeDate(FieldByName('pzrq').asstring);
    end;
    end;
end;
procedure TsqcxForm.FormActivate(Sender: TObject);
var sqbidCode:string;
begin
    sqsjDate.DateTime:=Date;
    sqbNumLabel.Caption:='1';
    zbstrselect:='select sqbid as 表单代号,rwmc as 任务名称,yxnx,lsh,sqdw as 申请单位,sqrq,bzr as 编制人,xqfzr as 需求部门负责人,shr as 审核人,pzr as 批准人,bzrq,xqrq,shrq,pzrq';
    xbstrselect:='select jhy,cpbh as 产品编号,cpmc as 产品名称,xhgg as 型号规格,jldw as 计量单位,sbsl as 申请数量,sccj as 生产厂家,gjje as 估计金额,yyhrw as 用于何任务,sjyq as 时间要求,bz as 备注 from dbo.a_cgsqxb';
    RadioGroup1.ItemIndex:=0;
    RadioGroup1Click(self);
    sqsjedit.Text:=showmeDate(sqinputForm.DateTo709Str(date));
    with datamodule1 do
    begin
    //sqzbquery.disableControls;
    //try
    with sqzbquery do
    begin
    sql.clear;
    sql.Add(zbstrselect);
    sql.Add('from dbo.a_cgsqzb');
    sql.Text:=sql.Text+'order by 表单代号 desc';
    open;
    FieldByName('yxnx').Visible:=False;
    FieldByName('lsh').Visible:=False;
    FieldByName('sqrq').Visible:=False;
    FieldByName('xqrq').Visible:=False;
    FieldByName('bzrq').Visible:=False;
    FieldByName('shrq').Visible:=False;
    FieldByName('pzrq').Visible:=False;
    First;
    end;
    //label14.Caption:=IntToStr(dbgrid1.FieldCount);
    writeTableHead;
    sqbidcode:=sqzbquery.Fields.Fields[0].asstring;
    //finally
    //sqzbquery.enableControls;
    //end;
    with sqxbquery do
    begin
    sql.clear;
    close;
    sql.Add(xbstrselect);
    sql.Add('where sqbid='+''''+sqbidcode+'''');
    open;
    FieldByName('jhy').Visible:=False;
    end;
    cxztLabel.Caption:='所有已经提交的采购申请表';
    with publicquery1 do
    begin
       //初始化部门名称和部门人员名称
       close;
       sql.clear;
       sql.add('Select bmmc,bmfzr from dbo.e_bmmcb');
       open;
       first;
       sqdwCombo.Items.Clear;
       bzrCombo.Items.Clear;
       xqfzrCombo.Items.Clear;
       shrCombo.Items.Clear;
       //pzrCombo.Items.Clear;
       while  not eof do
       begin
         sqdwCombo.Items.Add(FieldByName('bmmc').asstring);
         bzrCombo.Items.Add(FieldByName('bmfzr').asstring);
         xqfzrCombo.Items.Add(FieldByName('bmfzr').asstring);
         shrCombo.Items.Add(FieldByName('bmfzr').asstring);
         //pzrCombo.Items.Add(FieldByName('bmfzr').asstring);
         next;
       end;
     close;
     end;
    end;
end;

procedure TsqcxForm.RadioGroup1Click(Sender: TObject);
begin
    with RadioGroup1 do
    begin
    if ItemIndex=0 then
    begin
    GroupBox1.Enabled:=True;
    GroupBox2.Enabled:=False;
    GroupBox3.Enabled:=False;
    DisOrEnable;
    end;
    if ItemIndex=1 then
    begin
    GroupBox1.Enabled:=False;
    GroupBox2.Enabled:=True;
    GroupBox3.Enabled:=False;
    DisOrEnable;
    end;
    if ItemIndex=2 then
    begin
    GroupBox1.Enabled:=False;
    GroupBox2.Enabled:=False;
    GroupBox3.Enabled:=True;
    DisOrEnable;
    end;
    end;
end;
procedure  TsqcxForm.DisOrEnable;
begin
   rwmcCheckBox.Enabled:=GroupBox1.Enabled;
   yxnxCheckBox.Enabled:=GroupBox1.Enabled ;
   lshCheckBox.Enabled:=GroupBox1.Enabled;
   rwmcEdit.Enabled:=GroupBox1.Enabled;
   yxnxEdit.Enabled:=GroupBox1.Enabled;
   lshEdit.Enabled:=GroupBox1.Enabled;
   bzrCheckBox.Enabled:=GroupBox2.Enabled;
   xqfzrCheckBox.Enabled:=GroupBox2.Enabled;
   shrCheckBox.Enabled:=GroupBox2.Enabled;
   bzrCombo.Enabled:=GroupBox2.Enabled;
   xqfzrCombo.Enabled:=GroupBox2.Enabled;
   shrCombo.Enabled:=GroupBox2.Enabled;
   sqdwCheckBox.Enabled:=GroupBox3.Enabled;
   sqsjCheckBox.Enabled:=GroupBox3.Enabled;
   sqdwCombo.Enabled:=GroupBox3.Enabled;
   sqsjEdit.Enabled:=GroupBox3.Enabled;
   sqsjDate.Enabled:=GroupBox3.Enabled;
end;

Function TsqcxForm.ShowMeDate(Date709str:string):string;
var ShowDatestr:string;
begin
    ShowDatestr:=Copy(Date709str,1,4);
    ShowDatestr:=ShowDatestr+'-';
    ShowDatestr:=ShowDatestr+Copy(Date709str,5,2);
    ShowDatestr:=ShowDatestr+'-';
    ShowDatestr:=ShowDatestr+Copy(Date709str,7,2);
    result:=ShowDatestr;
end;

procedure TsqcxForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    with datamodule1 do
    begin
    sqzbquery.close;
    sqxbquery.close;
    publicquery1.RequestLive:=false;
    end;
end;

procedure TsqcxForm.scssbBtnClick(Sender: TObject);
begin
    jhssForm:=TjhssForm.Create(Application);
    hide;
    jhssForm.ShowModal;
    jhssForm.free;
    show;
end;

procedure TsqcxForm.BitBtn1Click(Sender: TObject);
var strwhere,strCondition:string;
I:integer;
strlist:array[0..2]of string;
begin
    for i:=0 to 2 do
    strlist[I]:='';
    strCondition:='';
    strwhere:=' where ';
    if GroupBox1.Enabled then
    begin
    cxztLabel.Caption:='按任务查询的采购申请表';
    if rwmcCheckbox.Checked then
    strlist[0]:='rwmc'+' = '+''''+rwmcedit.Text+'''';
    if yxnxCheckbox.Checked then
    strlist[1]:='yxnx'+' = '+''''+yxnxedit.Text+'''';
    if lshCheckBox.Checked then
    strlist[2]:='lsh'+' = '+''''+lshedit.Text+'''';
    end;
    if GroupBox2.Enabled then
    begin

⌨️ 快捷键说明

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