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

📄 ucgwltj.pas

📁 工廠採購管理系統
💻 PAS
字号:
unit ucgwltj;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RzButton, ExtCtrls, GridsEh, DBGridEh, StdCtrls, ComCtrls, RzDTP,
  DB, ADODB, Grids, FR_DSet, FR_DBSet, FR_Class, DBGrids;

type
  Tfrmcgwltj = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    RzBitBtn3: TRzBitBtn;
    RzBitBtn4: TRzBitBtn;
    dtp1: TRzDateTimePicker;
    dtp2: TRzDateTimePicker;
    Label1: TLabel;
    Label2: TLabel;
    ComboBox1: TComboBox;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    DataSource1: TDataSource;
    frReport1: TfrReport;
    frDBDataSet1: TfrDBDataSet;
    DBGrid1: TDBGrid;
    ADOQuery3: TADOQuery;
    frDBDataSet2: TfrDBDataSet;
    ADOQuery3xqdh: TStringField;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure RzBitBtn4Click(Sender: TObject);
    procedure csh();
    procedure FormCreate(Sender: TObject);
    procedure dtp1Exit(Sender: TObject);
    procedure dtp2Exit(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure RzBitBtn3Click(Sender: TObject);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmcgwltj: Tfrmcgwltj;

implementation
uses uconst,ufunction,udm1,ucx;
{$R *.dfm}

procedure Tfrmcgwltj.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
frReport1.Free;
end;

procedure Tfrmcgwltj.RzBitBtn4Click(Sender: TObject);
begin
close;
end;
procedure tfrmcgwltj.csh();
begin
strsql:='SELECT cgdd_detail.wldm AS 物料代码, wldmk.wlmc AS 物料名称,'+
      'wldmk.wlys AS 颜色, wldmk.wlsh AS 色号, wldmk.cgdw AS 单位,'+
      'SUM(cgdd_detail.xql) AS 订购数量,SUM(cgdd_detail.xql * cgdd_detail.dj) AS 金额,'+
      ' SUM(cgdd_detail.yssl) AS 已送数量, SUM(cgdd_detail.wssl) AS 未送数量,PYM AS 助记码'+
      ' FROM cgdd_main INNER JOIN cgdd_detail ON cgdd_main.ddhm = cgdd_detail.ddhm INNER JOIN'+
      ' wldmk ON cgdd_detail.wldm = wldmk.wldm where cgdd_main.cgrq>=:rq1 and cgdd_main.cgrq<='+
      ':rq2 GROUP BY cgdd_detail.wldm, wldmk.wlmc,'+
      ' wldmk.wlys, wldmk.wlsh,wldmk.cgdw,pym ORDER BY pym asc';
if adoquery1.Active then adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(strsql);
if adoquery3.Active then adoquery3.Close;
adoquery3.SQL.Clear;
strsql:='select distinct xqdh from cgdd_main where cgrq>=:rq1 and cgrq<=:rq2 order by cgdd_main.xqdh asc' ;
adoquery3.SQL.Add(strsql);
adoquery3.Parameters.ParamByName('rq1').Value:=dtp1.Date;
adoquery3.Parameters.ParamByName('rq2').Value:=dtp2.Date;
adoquery1.Parameters.ParamByName('rq1').Value:=dtp1.Date;
adoquery1.Parameters.ParamByName('rq2').Value:=dtp2.Date;
adoquery1.Open;
adoquery3.Open;
strsql:='select distinct xqdh from cgdd_main where cgrq>=:rq1 and cgrq<=:rq2';
if adoquery2.Active then adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add(strsql);
adoquery2.Parameters.ParamByName('rq1').Value:=dtp1.Date;
adoquery2.Parameters.ParamByName('rq2').Value:=dtp2.Date;
adoquery2.Open;
if not(adoquery2.Recordset.eof and adoquery2.Recordset.BOF) then
   begin
        adoquery2.First;
        combobox1.Items.Clear;
        while not adoquery2.Eof do
        begin
        combobox1.Items.Add(trim(adoquery2.fieldbyname('xqdh').AsString));
        adoquery2.Next;
        end;
   end;
adoquery2.Close;
end;
procedure Tfrmcgwltj.FormCreate(Sender: TObject);
begin
adoquery1.Connection:=dm1.ADOConnection1;
adoquery2.Connection:=dm1.ADOConnection1;
adoquery3.Connection:=dm1.ADOConnection1;
dtp1.Date:=date-30;
dtp2.date:=date;
csh;

end;

procedure Tfrmcgwltj.dtp1Exit(Sender: TObject);
begin
csh;
end;

procedure Tfrmcgwltj.dtp2Exit(Sender: TObject);
begin
csh;
end;

procedure Tfrmcgwltj.ComboBox1Change(Sender: TObject);
begin
strsql:='SELECT cgdd_detail.wldm AS 物料代码, wldmk.wlmc AS 物料名称,'+
      'wldmk.wlys AS 颜色, wldmk.wlsh AS 色号, wldmk.cgdw AS 单位,'+
      'SUM(cgdd_detail.xql) AS 订购数量,SUM(cgdd_detail.xql * cgdd_detail.dj) AS 金额,'+
      ' SUM(cgdd_detail.yssl) AS 已送数量, SUM(cgdd_detail.wssl) AS 未送数量,PYM AS 助记码'+
      ' FROM cgdd_main INNER JOIN cgdd_detail ON cgdd_main.ddhm = cgdd_detail.ddhm INNER JOIN'+
      ' wldmk ON cgdd_detail.wldm = wldmk.wldm where cgdd_main.xqdh='+''''+trim(combobox1.Text)+''''+
      ' GROUP BY cgdd_detail.wldm, wldmk.wlmc,'+
      ' wldmk.wlys, wldmk.wlsh,wldmk.cgdw,pym ORDER BY pym asc' ;
adoexect(adoquery1,strsql);
end;

procedure Tfrmcgwltj.RzBitBtn3Click(Sender: TObject);
begin
frReport1.DoublePass := True;
frReport1.Clear;
if combobox1.text<>'' then
   begin
   frReport1.LoadFromFile(strpath+'/report/wlcgtj_1.frf');
   frVariables['xqdh']:=combobox1.Text;
   end else begin
   frReport1.LoadFromFile(strpath+'/report/wlcgtj.frf');
   frVariables['rq1']:=datetostr(dtp1.Date);
   frVariables['rq2']:=datetostr(dtp2.Date);
   end;
frVariables['username']:=username;
frreport1.ShowReport;
end;

procedure Tfrmcgwltj.RzBitBtn1Click(Sender: TObject);
begin
frmcx:=tfrmcx.Create(self);
frmcx.adocx:=adoquery1;
frmcx.ShowModal;
adoquery1:=frmcx.adocx;
ADOquery1.Requery();
end;
procedure Tfrmcgwltj.RzBitBtn2Click(Sender: TObject);
begin
frReport1.DoublePass := True;
frReport1.Clear;
frReport1.LoadFromFile(strpath+'/report/wlcgtj.frf');
frVariables['username']:=username;
frVariables['rq1']:=datetostr(dtp1.Date);
frVariables['rq2']:=datetostr(dtp2.Date);
frreport1.DesignReport;
end;

procedure Tfrmcgwltj.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
if adoquery1.FieldByName('未送数量').value>0 then begin
dbgrid1.Canvas.Brush.Color:=clYellow;
dbgrid1.DefaultDrawColumnCell(rect,datacol,column,[gdfixed,gdfocused,gdselected]);
end;
end;

end.






⌨️ 快捷键说明

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