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

📄 inv_journalqry.pas

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

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
  StdCtrls, ExtCtrls, ComCtrls, ToolWin, DBCtrls, jpeg;

Type
  TFrm_Inv_JournalQry = Class(TFrm_Base_Qry)
    Label1: TLabel;
    DBText1: TDBText;
    procedure DBGridEhGetCellParams(Sender: TObject; Column: TColumnEh;
      AFont: TFont; var Background: TColor; State: TGridDrawState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Act_LookExecute(Sender: TObject);
  private
    { Private declarations }
    Date1,Date2:String;
  public
    { Public declarations }
    procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
    procedure SetFormParam(FrmParam1,FrmParam2,FrmParam3,FrmParam4,
      FrmParam5,FrmParam6:String);Override;
  end;

var
  Frm_Inv_JournalQry: TFrm_Inv_JournalQry;

implementation

uses Inv_JournalQry_C, Inv_SaleBillQry, Inv_MnInBillQry,
  Inv_PurchaseInBillQry, Inv_OpOutBillQry, Inv_MnOutBillQry,
  Inv_OtherOutBillQry, Inv_OtherInBillQry, Inv_WhPMoveBillQry,
  Inv_CheckInBillQry, Sys_Global, Inv_JournalQry_D, Inv_OpBillQry;

{$R *.DFM}

procedure TFrm_Inv_JournalQry.InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);
begin
  AmountFields:='InvBillAmount,OInvBillAmount,InvBlncAmount,';
  PriceFields:='InvBillPrice,OInvBillPrice,InvBlncPrice,';
  inherited;
  try
    AdoQry_Tmp.Close;
    AdoQry_Tmp.SQL.Text:='Drop TABLE #JournalQry';
    AdoQry_Tmp.ExecSQL;
  except
  end;
  AdoQry_Tmp.Close;
  AdoQry_Tmp.SQL.Text:='CREATE TABLE #JournalQry ('
    +' [JournalQryId] [numeric](18, 0) IDENTITY (1, 1) NOT NULL'
    +',[DateSting] [varchAr] (10) NULL'
    +',[MonthSting] [varchAr] (10) NULL'
    +',[BillTypeCode] [varchAr] (4) NULL'
    +',[InvBillNo] [varchAr] (30) NULL'
    +',[MoPoNo] [varchAr] (30) NULL'
    +',[InvBillRemArk] [varchAr] (200) NULL'
    +',[InvBillQty] [float] NULL'
    +',[OInvBillQty] [float] NULL'
    +',[InvBlncQty] [float] NULL'
    +',[InvBillPrice] [float] NULL'
    +',[OInvBillPrice] [float] NULL'
    +',[InvBlncPrice] [float] NULL'
    +',[InvBillAmount] [float] NULL'
    +',[OInvBillAmount] [float] NULL'
    +',[InvBlncAmount] [float] NULL'
    +',[InvBillCreateTime] [datetime] NULL'
    +',[Valuation] [int] NULL'
    +',[WHCode] [varchAr] (4) NULL'
    +' )';
  AdoQry_Tmp.ExecSQL;
  SelectFromSQL:='Select DateSting'
    +',MonthSting'
    +',BillTypeCode'
    +',InvBillNo'
    +',MoPoNo'
    +',InvBillRemArk'
    +',InvBillQty'
    +',OInvBillQty'
    +',InvBlncQty'
    +',InvBillPrice'
    +',OInvBillPrice'
    +',InvBlncPrice'
    +',InvBillAmount'
    +',OInvBillAmount'
    +',InvBlncAmount'
    +',InvBillCreateTime'
    +',Valuation'
    +',WHCode'
    +' From #JournalQry';
  OrderByFields:='MonthSting,InvBillCreateTime';

  Frm_Sys_Condition:=TFrm_Inv_JournalQry_C.Create(Self);
  if Param1='' then
    Act_Filter.Execute
  else
  begin
    FormStyle:=fsNormal;
    Windowstate:=wsMaximized;
  end;
end;

procedure TFrm_Inv_JournalQry.DBGridEhGetCellParams(Sender: TObject;
  Column: TColumnEh; AFont: TFont; var Background: TColor;
  State: TGridDrawState);
begin
  inherited;
  if (gdSelected in State)or(gdFocused in State) then
  begin
    Background:=clNavy;
    AFont.Color:=clWindow;
  end
  else
  begin
    if AdoQry_Main.fieldbyname('Valuation').AsInteger=1 then
    begin
      AFont.Color:=clBlue;
    end
    else
      AFont.Color:=clBlack;
  end;
  if (Column.FieldName='InvBillRemArk')
    and((AdoQry_Main.fieldbyname('InvBillRemArk').AsString='本月合计')
    Or(AdoQry_Main.fieldbyname('InvBillRemArk').AsString='本月合计(未结帐)')) then
  begin
    AFont.Color:=clRed;
  end
end;

procedure TFrm_Inv_JournalQry.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  AdoQry_Tmp.Close;
  AdoQry_Tmp.SQL.Text:='Drop TABLE #JournalQry';
  AdoQry_Tmp.ExecSQL;
  if Param1<>'' then
  begin
    Frm_Inv_JournalQry.Release;
    Frm_Inv_JournalQry:=nil;
  end;
end;

procedure TFrm_Inv_JournalQry.Act_LookExecute(Sender: TObject);
begin
  inherited;
  if AdoQry_Main.Active=False then
    Exit;
  if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0203')
    or(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0204')then
  begin
    Application.CreateForm(TFrm_Inv_SaleBillQry,Frm_Inv_SaleBillQry);
    Frm_Inv_SaleBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
      AdoQry_Main.fieldbyname('WHCode').AsString,
      AdoQry_Main.fieldbyname('BillTypeCode').AsString,'Stk');
    Frm_Inv_SaleBillQry.InitForm(DBConnect,True);
  end
  else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0105')
    or(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0104')then
  begin
    Application.CreateForm(TFrm_Inv_MnInBillQry,Frm_Inv_MnInBillQry);
    Frm_Inv_MnInBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
      AdoQry_Main.fieldbyname('WHCode').AsString,
      AdoQry_Main.fieldbyname('BillTypeCode').AsString);
    Frm_Inv_MnInBillQry.InitForm(DBConnect,True);
  end
  else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0101')
    or(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0102')
    or(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0103')then
  begin
    Application.CreateForm(TFrm_Inv_PurchaseInBillQry,Frm_Inv_PurchaseInBillQry);
    Frm_Inv_PurchaseInBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
      AdoQry_Main.fieldbyname('WHCode').AsString,
      AdoQry_Main.fieldbyname('BillTypeCode').AsString);
    Frm_Inv_PurchaseInBillQry.InitForm(DBConnect,True);
  end
  else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0202')then
  begin
    Application.CreateForm(TFrm_Inv_OpOutBillQry,Frm_Inv_OpOutBillQry);
    Frm_Inv_OpOutBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
      AdoQry_Main.fieldbyname('WHCode').AsString,
      AdoQry_Main.fieldbyname('BillTypeCode').AsString);
    Frm_Inv_OpOutBillQry.InitForm(DBConnect,True);
  end
  else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0201')then
  begin
    Application.CreateForm(TFrm_Inv_MnOutBillQry,Frm_Inv_MnOutBillQry);
    Frm_Inv_MnOutBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
      AdoQry_Main.fieldbyname('WHCode').AsString,
      AdoQry_Main.fieldbyname('BillTypeCode').AsString);
    Frm_Inv_MnOutBillQry.InitForm(DBConnect,True);
  end
  else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0299')then
  begin
    Application.CreateForm(TFrm_Inv_OtherOutBillQry,Frm_Inv_OtherOutBillQry);
    Frm_Inv_OtherOutBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
      AdoQry_Main.fieldbyname('WHCode').AsString,
      AdoQry_Main.fieldbyname('BillTypeCode').AsString);
    Frm_Inv_OtherOutBillQry.InitForm(DBConnect,True);
  end
  else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0199')then
  begin
    Application.CreateForm(TFrm_Inv_OtherInBillQry,Frm_Inv_OtherInBillQry);
    Frm_Inv_OtherInBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
      AdoQry_Main.fieldbyname('WHCode').AsString,
      AdoQry_Main.fieldbyname('BillTypeCode').AsString,
      AdoQry_Main.fieldbyname('DateSting').AsString);
    Frm_Inv_OtherInBillQry.InitForm(DBConnect,True);
  end
  else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='1101')then
  begin
    Application.CreateForm(TFrm_Inv_WhPMoveBillQry,Frm_Inv_WhPMoveBillQry);
    Frm_Inv_WhPMoveBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
      AdoQry_Main.fieldbyname('WHCode').AsString,
      AdoQry_Main.fieldbyname('BillTypeCode').AsString);
    Frm_Inv_WhPMoveBillQry.InitForm(DBConnect,True);
  end
  else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='1102')then
  begin
    Application.CreateForm(TFrm_Inv_CheckInBillQry,Frm_Inv_CheckInBillQry);
    Frm_Inv_CheckInBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
      AdoQry_Main.fieldbyname('WHCode').AsString);
    Frm_Inv_CheckInBillQry.InitForm(DBConnect,'ReadOnly',AdoQry_Main);
    Frm_Inv_CheckInBillQry.ShowModal;
    Frm_Inv_CheckInBillQry.Release;
  end
  else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0000')then
  begin
    Frm_Inv_JournalQry_D:=TFrm_Inv_JournalQry_D.Create(Self);
    Frm_Inv_JournalQry_D.InitForm(DBConnect,'ReadOnly',AdoQry_Main);
    Frm_Inv_JournalQry_D.ShowModal;
    Frm_Inv_JournalQry_D.Release;
  end
  else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='1201')
    or(AdoQry_Main.fieldbyname('BillTypeCode').AsString='1202')then
  begin
    Frm_Inv_OpBillQry:=TFrm_Inv_OpBillQry.Create(Self);
    Frm_Inv_OpBillQry.InitForm(DBConnect,'ReadOnly',AdoQry_Main);
    Frm_Inv_OpBillQry.SetFormParam(Date1,Date2,'','','','');
    Frm_Inv_OpBillQry.ShowModal;
    Frm_Inv_OpBillQry.Release;
  end;
end;

procedure TFrm_Inv_JournalQry.SetFormParam(FrmParam1, FrmParam2, FrmParam3,
  FrmParam4, FrmParam5, FrmParam6: String);
begin
  inherited;
  Date1:=FrmParam1;
  Date2:=FrmParam2;
  if FrmParam1='' then
  begin
    Frm_Sys_Condition.SetDBConnect(DBConnect);
    Frm_Sys_Condition.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
    Frm_Sys_Condition.FatherForm:=self;
    Frm_Sys_Condition.SetFormParam(FrmParam1, FrmParam2, FrmParam3,
      FrmParam4, FrmParam5, FrmParam6);
    Condition:=Frm_Sys_Condition.Condition;
    Lbl_Condition.Caption:=Frm_Sys_Condition.ConditionHint;
    GetData;
  end;
end;

end.

⌨️ 快捷键说明

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