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 + -
显示快捷键?