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

📄 inv_opjournalqry.pas

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

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_OpJournalQry = 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 }
  public
    { Public declarations }
    procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
    procedure SetFormParam(FrmParam1,FrmParam2,FrmParam3,FrmParam4,
      FrmParam5,FrmParam6:String);Override;
  end;

var
  Frm_Inv_OpJournalQry: TFrm_Inv_OpJournalQry;

implementation

uses Inv_OpJournalQry_C, Inv_SaleBillQry, Sys_Global, Inv_MnInBillQry,
  Inv_PurchaseInBillQry, Inv_OpOutBillQry, Inv_MnOutBillQry,
  Inv_OtherOutBillQry, Inv_OtherInBillQry, Inv_WhPMoveBillQry,
  Inv_CheckInBillQry, Inv_OpDiffBillQry, Inv_JournalQry_D;

{$R *.DFM}

procedure TFrm_Inv_OpJournalQry.InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);
begin
  inherited;
  AmountFields:='InvBillAmount,OInvBillAmount,InvBlncAmount,';
  PriceFields:='InvBillPrice,OInvBillPrice,InvBlncPrice,';
  try
    AdoQry_Tmp.Close;
    AdoQry_Tmp.SQL.Text:='Drop TABLE #OPJournalQry';
    AdoQry_Tmp.ExecSQL;
  except
  end;
  AdoQry_Tmp.Close;
  AdoQry_Tmp.SQL.Text:='CREATE TABLE #OPJournalQry ('
    +' [DateSting] [varchAr] (10) NULL'
    +',[MonthString] [varchAr] (10) NULL'
    +',[BillTypeCode] [varchAr] (4) NULL'
    +',[InvBillNo] [varchAr] (30) NULL'
    +',[MoPoNo] [varchAr] (30) NULL'
    +',[InvBillRemArk] [varchAr] (100) 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'
    +',[WHCode] [varchAr] (4) NULL'
    +' )';
  AdoQry_Tmp.ExecSQL;
  SelectFromSQL:='Select #OPJournalQry.DateSting'
    +',InvInBill.InvBillId'
    +',#OPJournalQry.MonthString'
    +',#OPJournalQry.BillTypeCode'
    +',#OPJournalQry.InvBillNo'
    +',#OPJournalQry.MoPoNo'
    +',#OPJournalQry.InvBillRemArk'
    +',#OPJournalQry.InvBillQty'
    +',#OPJournalQry.OInvBillQty'
    +',#OPJournalQry.InvBlncQty'
    +',#OPJournalQry.InvBillPrice'
    +',#OPJournalQry.OInvBillPrice'
    +',#OPJournalQry.InvBlncPrice'
    +',#OPJournalQry.InvBillAmount'
    +',#OPJournalQry.OInvBillAmount'
    +',#OPJournalQry.InvBlncAmount'
    +',#OPJournalQry.InvBillCreateTime'
    +',#OPJournalQry.WHCode'
    +' From #OPJournalQry'
    +' Left Join InvInBill On #OPJournalQry.WHCode=InvInBill.WHCode'
    +' And #OPJournalQry.InvBillNo=InvInBill.InvBillNo';
  OrderByFields:='MonthString,InvBillCreateTime';
  Frm_Sys_Condition:=TFrm_Inv_OpJournalQry_C.Create(Self);
  if Param1='' then
    Act_Filter.Execute
  else
  begin
    FormStyle:=fsNormal;
    Windowstate:=wsMaximized;
  end;
end;

procedure TFrm_Inv_OpJournalQry.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('BillTypeCode').AsString='0000' 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_OpJournalQry.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  AdoQry_Tmp.Close;
  AdoQry_Tmp.SQL.Text:='Drop TABLE #OPJournalQry';
  AdoQry_Tmp.ExecSQL;
  if Param1<>'' then
  begin
    Frm_Inv_OpJournalQry.Release;
    Frm_Inv_OpJournalQry:=nil;
  end;
end;

procedure TFrm_Inv_OpJournalQry.Act_LookExecute(Sender: TObject);
begin
  inherited;
  if (AdoQry_Main.Active=False)or(Param1<>'') 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='1202')then
  begin
    Application.CreateForm(TFrm_Inv_OpDiffBillQry,Frm_Inv_OpDiffBillQry);
    Frm_Inv_OpDiffBillQry.Caption:='委外加工材料费单据';
    Frm_Inv_OpDiffBillQry.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
    Frm_Inv_OpDiffBillQry.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
    Frm_Inv_OpDiffBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
      AdoQry_Main.fieldbyname('WHCode').AsString);
    Frm_Inv_OpDiffBillQry.InitForm(DBConnect,'Query',AdoQry_Main);
    Frm_Inv_OpDiffBillQry.ShowModal;
    Frm_Inv_OpDiffBillQry.Release;
  end
  else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='9999')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;
end;

procedure TFrm_Inv_OpJournalQry.SetFormParam(FrmParam1,FrmParam2,FrmParam3,FrmParam4,
      FrmParam5,FrmParam6:String);
begin
  Frm_Sys_Condition.SetDBConnect(DBConnect);
  Frm_Sys_Condition.SetFormParam(FrmParam1,FrmParam2,FrmParam3,FrmParam4,'','');
  Condition:=Frm_Sys_Condition.Condition;
  Lbl_Condition.Caption:=Frm_Sys_Condition.ConditionHint;
  GetData;
end;

end.

⌨️ 快捷键说明

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