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

📄 ap_qry_invoicepay.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Ap_Qry_InvoicePay;
//
Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Panel, ActnList, Db, AdODB, ExtCtrls, ComCtrls, ToolWin, StdCtrls,
  Grids, DBGridEh, DBGrids, Extdbgrid, ExtPrintReport;

Type
  TFrm_Ap_Qry_InvoicePay = Class(TFrm_Base_Panel)
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    Lbl_begindate1: TLabel;
    Lbl_begindate: TLabel;
    Lbl_zi: TLabel;
    Lbl_EndDate: TLabel;
    AdoQry_Main: TAdoQuery;
    DataSource: TDataSource;
    DBGridEh: TDBGridEh;
    ExtPrintReport: TExtPrintReport;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure Act_FilterExecute(Sender: TObject);
    procedure Act_PrintExecute(Sender: TObject);
    procedure Act_PreviewExecute(Sender: TObject);
  private
    { Private declarations }
    Lc_VendorCode:string;
    Lc_begindate,Lc_EndDate:string;
    procedure SetReport;   
    procedure GetCondition;
    procedure GetPayData(VendorCode,begindate,endDate:string);
  protected
    procedure SetColumnsStyle(ItemIndex:Integer;FieldName:String); virtual;
  public
    { Public declarations }
    procedure SetDBConnect(AdOConnection: TAdOConnection);Override;
  end;

var
  Frm_Ap_Qry_InvoicePay: TFrm_Ap_Qry_InvoicePay;

implementation

uses Ap_Qry_InvoicePay_Condition,Sys_Global;

{$R *.DFM}
var
  Temp_DBGridEh:TDBGridEh;
  
procedure GetTransValue(FieldName,OldValue:String;var NewValue:String);
var
  i:integer;
begin
  NewValue:=OldValue;
  if Temp_DBGridEh<>nil then
    for i:=0 to Temp_DBGridEh.Columns.Count-1 do
      if(Temp_DBGridEh.Columns[i].FieldName=FieldName)then
      begin
        NewValue:=Temp_DBGridEh.Columns[i].PickList.Strings[Temp_DBGridEh.Columns[i].
          KeyList.IndexOf(OldValue)];
        break;
      end;
end;


procedure TFrm_Ap_Qry_InvoicePay.FormDestroy(Sender: TObject);
begin
  inherited;
  Frm_Ap_Qry_InvoicePay:=nil;
end;

procedure TFrm_Ap_Qry_InvoicePay.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  Action:=Cafree;
end;

procedure TFrm_Ap_Qry_InvoicePay.FormCreate(Sender: TObject);
begin
  inherited;
  Lc_VendorCode:='';
  Lc_begindate:='';
  Lc_EndDate:=''; 
end;

procedure TFrm_Ap_Qry_InvoicePay.SetDBConnect(
  AdOConnection: TAdOConnection);
var
  sSQL:string;
begin
  inherited;
  AdoQry_Main.Connection:=DbConnect;
  AdoQry_Tmp.Connection:=DbConnect;
  PriceFields:='PayAmount,';
  Lbl_begindate.Caption:='';
  Lbl_EndDate.Caption:='';

  sSQL:='select PayJournal.VendorCode, PayJournal.VendorCode+'' ''+Vendor.VendorName as VendorB,PayJournal.Paydate,'+
        ' PayJournal.PayAmount,PayJournal.PayModeCode+'' ''+PayMode.PayModeName as PayModeB,PayJournal.PayBillno,PayJournal.RemArkNo '+
        ' from PayJournal'+
        ' join Vendor on PayJournal.VendorCode=Vendor.VendorCode'+
        ' join PayMode on PayJournal.PayModeCode=PayMode.PayModeCode '+
        ' Order by PayJournal.VendorCode';

  AdoQry_Main.Close;
  AdoQry_Main.SQL.clear;
  AdoQry_Main.SQL.Add(sSQL);
  AdoQry_Main.Open;
  
  Pnl_Hint.Caption:='提示:共查找到'+inttostr(AdoQry_Main.RecordCount)+'条记录。';
end;

procedure TFrm_Ap_Qry_InvoicePay.GetCondition;
begin
  Frm_Ap_Qry_InvoicePay_Condition := TFrm_Ap_Qry_InvoicePay_Condition.Create(Application);
  Frm_Ap_Qry_InvoicePay_Condition.AdoQry_Tmp.Connection:=dbconnect;
  Frm_Ap_Qry_InvoicePay_Condition.VendorCode := Lc_VendorCode;
  Frm_Ap_Qry_InvoicePay_Condition.beginDate := Lc_beginDate;
  Frm_Ap_Qry_InvoicePay_Condition.endDate := Lc_EndDate;
  Frm_Ap_Qry_InvoicePay_Condition.ShowModal;

  if Frm_Ap_Qry_InvoicePay_Condition.ModalResult = MrOK then
  begin
    Lbl_begindate.Caption:=Frm_Ap_Qry_InvoicePay_Condition.Medt_begindate.Text;
    Lbl_EndDate.Caption:=Frm_Ap_Qry_InvoicePay_Condition.Medt_Enddate.Text;

    Lc_VendorCode := Frm_Ap_Qry_InvoicePay_Condition.VendorCode;
    Lc_beginDate := Frm_Ap_Qry_InvoicePay_Condition.beginDate;
    Lc_EndDate := Frm_Ap_Qry_InvoicePay_Condition.endDate;
  end;

  GetPayData(Lc_VendorCode,Lc_beginDate,Lc_EndDate);
end;

procedure TFrm_Ap_Qry_InvoicePay.GetPayData(VendorCode, begindate,
  endDate: string);
var
  sSQL:string;
begin
  sSQL:='select PayJournal.VendorCode, PayJournal.VendorCode+'' ''+Vendor.VendorName as VendorB,PayJournal.Paydate,'+
        ' PayJournal.PayAmount,PayJournal.PayModeCode+'' ''+PayMode.PayModeName as PayModeB,currency.currencyName,PayJournal.PayBillno,PayJournal.RemArkNo '+
        ' from PayJournal'+
        ' join Vendor on PayJournal.VendorCode=Vendor.VendorCode '+
        ' join PayMode on PayJournal.PayModeCode=PayMode.PayModeCode '+
        ' join currency on PayJournal.currencyCode=currency.currencyCode where 1=1 ';
  if Lc_VendorCode<>'' then
    sSQL:=sSQL+' and  PayJournal.VendorCode = '+QuotedStr(Lc_VendorCode);
  if (Lc_beginDate<>'    .  .  ') then
    sSQL:=sSQL+' and PayJournal.Paydate>= '+QuotedStr(Lc_beginDate);
  if  (Lc_EndDate<>'    .  .  ') then
    sSQL:=sSQL+' and PayJournal.Paydate<= '+QuotedStr(Lc_EndDate);
  sSQL:=sSQL+' Order by PayJournal.VendorCode ' ;

  AdoQry_Main.Close;
  AdoQry_Main.SQL.clear;
  AdoQry_Main.SQL.Add(sSQL);
  try
    AdoQry_Main.Open;
  except
    Application.MessageBox('日期非法','提示',mb_ok);
    exit;
  end;
end;

procedure TFrm_Ap_Qry_InvoicePay.Act_FilterExecute(Sender: TObject);
begin
  inherited;
  GetCondition;
  Pnl_Hint.Caption:='提示:共查找到'+inttostr(AdoQry_Main.RecordCount)+'条记录。';
end;


procedure TFrm_Ap_Qry_InvoicePay.Act_PrintExecute(Sender: TObject);
begin
  inherited;
  SetReport;
  ExtPrintReport.print(self);
end;

procedure TFrm_Ap_Qry_InvoicePay.SetColumnsStyle(ItemIndex: Integer;
  FieldName: String);
begin

end;

procedure TFrm_Ap_Qry_InvoicePay.SetReport;
var
  i,j:integer;
begin
  inherited;
  ExtPrintReport.DataSet :=nil;
  ExtPrintReport.Headers.clear;
  i:=0;
  with ExtPrintReport do
  begin
    for j:=0 to DBGridEH.Columns.Count-1 do
      if DBGridEH.Columns[j].Visible then
      begin
        Headers.Add;
        Headers.Items[i].Caption :=DBGridEH.Columns[j].Title.Caption;
        Headers.Items[i].FieldName :=DBGridEH.Columns[j].FieldName;
        Headers.Items[i].DisplayWidth:=DBGridEH.Columns[j].Width div (DBGridEH.Columns[j].Font.Size-2);
        Headers.Items[i].Alignment :=DBGridEH.Columns[j].Alignment;
        inc(i);
      end;
    DataSet:=AdoQry_Main;

    AdoQry_Tmp.Close;
    AdoQry_Tmp.SQL.Text:='Select SysParamValueC '+
                         'From SysParam '+
                         'where SysParamCode=''Name0''';//Name0是使用本系统的客户的名称
    AdoQry_Tmp.Open;
    ExtPrintReport.Title1:=AdoQry_Tmp.fieldbyname('SysParamValueC').AsString;
    ExtPrintReport.Title2:=Pnl_Title.Caption;
    ExtPrintReport.Subtitle2:=Lbl_begindate1.Caption+Lbl_begindate.Caption+Lbl_zi.Caption+Lbl_EndDate.Caption;
  end;

end;

procedure TFrm_Ap_Qry_InvoicePay.Act_PreviewExecute(Sender: TObject);
begin
  inherited;
  SetReport;
  ExtPrintReport.preview;
end;

end.

⌨️ 快捷键说明

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