📄 ufrmylgdcx.pas
字号:
unit ufrmylgdcx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, RzDTP, RzButton, Grids, DBGridEh, ExtCtrls,
DB, ADODB, Buttons, RzTabs, FR_Class;
type
Tfrmylgdcx = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
RzBitBtn2: TRzBitBtn;
RzBitBtn3: TRzBitBtn;
RzBitBtn4: TRzBitBtn;
dtp1: TRzDateTimePicker;
dtp2: TRzDateTimePicker;
Label1: TLabel;
Label2: TLabel;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
DataSource1: TDataSource;
edit1: TEdit;
RzToolbarButton1: TRzToolbarButton;
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
TabSheet2: TRzTabSheet;
DBGridEh1: TDBGridEh;
DBGridEh2: TDBGridEh;
DataSource2: TDataSource;
CheckBox1: TCheckBox;
procedure csh();
procedure FormCreate(Sender: TObject);
procedure dtp1Exit(Sender: TObject);
procedure dtp2Exit(Sender: TObject);
procedure RzBitBtn4Click(Sender: TObject);
procedure RzToolbarButton1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RzBitBtn2Click(Sender: TObject);
procedure RzBitBtn3Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure DBGridEh2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
procedure DBGridEh1TitleClick(Column: TColumnEh);
procedure DBGridEh2TitleClick(Column: TColumnEh);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmylgdcx: Tfrmylgdcx;
implementation
uses uconst,ufunction,uwllb,unit3;
{$R *.dfm}
procedure Tfrmylgdcx.csh();
begin
if trim(edit1.Text)='' then exit;
if CheckBox1.Checked=true then
strsql:='select 工单号码,合同号码,客户名称,消费国家,货期,物料代码, 物料名称,颜色,色号,单位,sum(用量) as 需求量,'+
'供应商,已分配物料,实际库存,分配库存,剩余库存 from view_wlxq_4 where 货期>='+''''+datetostr(dtp1.Date)+''''+' and 货期<='+''''+
datetostr(dtp2.date)+''''+' and 物料名称='+''''+trim(wlmc)+''''+' and 颜色='+''''+trim(wlys)+''''
+' and 已分配物料<>1 group by 工单号码,合同号码,客户名称,消费国家,货期,物料代码, '+
'物料名称,颜色,色号,单位,供应商,已分配物料,实际库存,分配库存,剩余库存 order by 工单号码 asc'
else
strsql:='select 工单号码,合同号码,客户名称,消费国家,货期,物料代码, 物料名称,颜色,色号,单位,sum(用量) as 需求量,'+
'供应商,已分配物料,实际库存,分配库存,剩余库存 from view_wlxq_4 where 货期>='+''''+datetostr(dtp1.Date)+''''+' and 货期<='+''''+
datetostr(dtp2.date)+''''+' and 物料代码='+''''+trim(edit1.Text)+''''+' and 已分配物料<>1'+
' group by 工单号码,合同号码,客户名称,消费国家,货期,物料代码, '+
'物料名称,颜色,色号,单位,供应商,已分配物料,实际库存,分配库存,剩余库存 order by 工单号码 asc';
adoexect(adoquery1,strsql);
strsql:='select cpdmk.cpdm as 产品代码,cpmc as 产品名称,bandan as 办单号码,cpdmk.chang as 厂别,'+
'wldmk.wldm as 物料代码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,wldmk.dw as 单位,'+
'bom.yl as 用量,gysdm as 供应商 from wldmk,bom,cpdmk where wldmk.wldm=bom.wldm and '+
'bom.cpdm=cpdmk.cpdm and wldmk.wldm='+''''+trim(edit1.Text)+''''+' order by cpdmk.cpdm asc';
adoexect(adoquery2,strsql);
end;
procedure Tfrmylgdcx.FormCreate(Sender: TObject);
begin
dtp1.Date:=date;
dtp2.Date:=date+30;
csh;
end;
procedure Tfrmylgdcx.dtp1Exit(Sender: TObject);
begin
csh;
end;
procedure Tfrmylgdcx.dtp2Exit(Sender: TObject);
begin
csh;
end;
procedure Tfrmylgdcx.RzBitBtn4Click(Sender: TObject);
begin
close;
end;
procedure Tfrmylgdcx.RzToolbarButton1Click(Sender: TObject);
begin
wldm:='';
wlmc:='';
wlys:='';
frmwllb.ShowModal;
if wldm='' then exit;
edit1.Text:=wldm;
csh;
end;
procedure Tfrmylgdcx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure Tfrmylgdcx.RzBitBtn2Click(Sender: TObject);
begin
form3.frReport1.DoublePass := True;
form3.frReport1.Clear;
if (RzPageControl1.ActivePageIndex=0) then
begin
form3.frDBDataSet1.dataset:=adoquery1;
if CheckBox1.Checked=true then
form3.frReport1.LoadFromFile(strpath+'/report/ylgdcx_1.frf')
else
form3.frReport1.LoadFromFile(strpath+'/report/ylgdcx.frf');
frVariables['username']:=username;
frVariables['rq1']:=datetostr(dtp1.Date);
frVariables['rq2']:=datetostr(dtp2.Date);
end else begin
form3.frDBDataSet1.dataset:=adoquery2;
form3.frReport1.LoadFromFile(strpath+'/report/ylcptj.frf');
frVariables['username']:=username;
end;
form3.frReport1.Preview := Form3.frPreview1;
if form3.frReport1.PrepareReport then
begin
form3.frReport1.ShowPreparedReport;
end;
form3.ShowModal;
end;
procedure Tfrmylgdcx.RzBitBtn3Click(Sender: TObject);
begin
form3.frReport1.DoublePass := True;
form3.frReport1.Clear;
if (RzPageControl1.ActivePageIndex=0) then
begin
form3.frDBDataSet1.dataset:=adoquery1;
if CheckBox1.Checked=true then
form3.frReport1.LoadFromFile(strpath+'/report/ylgdcx_1.frf')
else
form3.frReport1.LoadFromFile(strpath+'/report/ylgdcx.frf');
frVariables['username']:=username;
frVariables['rq1']:=datetostr(dtp1.Date);
frVariables['rq2']:=datetostr(dtp2.Date);
end else begin
form3.frDBDataSet1.dataset:=adoquery2;
form3.frReport1.LoadFromFile(strpath+'/report/ylcptj.frf');
frVariables['username']:=username;
end;
form3.frReport1.DesignReport;
end;
procedure Tfrmylgdcx.CheckBox1Click(Sender: TObject);
begin
csh;
end;
procedure Tfrmylgdcx.DBGridEh2DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if gdselected in state then//如果当前区域是被选区域
begin
//设置被选区域颜色
tDBGridEh(sender).Canvas.Brush.Color:=clinfobk;
//设置被选区域字体颜色
tDBGridEh(sender).Canvas.Font.Color:=clfuchsia;
end
else //如果是当前区域不是被选择区域
begin
//如果是偶数行,则背景颜色为 clskyblue
if tDBGridEh(sender).DataSource.DataSet.RecNo mod 2 =0 then
tDBGridEh(sender).Canvas.Brush.Color:=clskyblue
else
//如果是奇数行,则背景颜色为 clinactivecaptiontext
tDBGridEh(sender).Canvas.Brush.Color:=clWhite;
end;
//调用默认的绘图函数
tDBGridEh(sender).DefaultDrawColumnCell(rect,datacol,column,state);
end;
procedure Tfrmylgdcx.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if gdselected in state then//如果当前区域是被选区域
begin
//设置被选区域颜色
tDBGridEh(sender).Canvas.Brush.Color:=clinfobk;
//设置被选区域字体颜色
tDBGridEh(sender).Canvas.Font.Color:=clfuchsia;
end
else //如果是当前区域不是被选择区域
begin
//如果是偶数行,则背景颜色为 clskyblue
if tDBGridEh(sender).DataSource.DataSet.RecNo mod 2 =0 then
tDBGridEh(sender).Canvas.Brush.Color:=clskyblue
else
//如果是奇数行,则背景颜色为 clinactivecaptiontext
tDBGridEh(sender).Canvas.Brush.Color:=clWhite;
end;
//调用默认的绘图函数
tDBGridEh(sender).DefaultDrawColumnCell(rect,datacol,column,state);
end;
procedure Tfrmylgdcx.DBGridEh1TitleClick(Column: TColumnEh);
begin
Compositor(adoquery1,Column);
end;
procedure Tfrmylgdcx.DBGridEh2TitleClick(Column: TColumnEh);
begin
Compositor(adoquery1,Column);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -