⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ufrmylgdcx.pas

📁 工廠採購管理系統
💻 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 + -