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

📄 auditingpd.pas

📁 一套非常发好的财务管理软件,想从事此方面开发的可以借签
💻 PAS
字号:
unit AuditingPD;

interface

uses
  Windows, Graphics, Controls, Forms, SysUtils, Dialogs, ExtFunc,
  SUIDBCtrls, ExtCtrls, SUIButton, StdCtrls, SUIComboBox, SUIEdit,
  ComCtrls, SUISideChannel, Classes, SUIForm, DB, ADODB, Grids, DBGrids,
  DBGridEh;

type
  TFrmAuditingPD = class(TForm)
    suiForm1: TsuiForm;
    q: TADOQuery;
    DataSource1: TDataSource;
    g: TDBGridEh;
    btnAuditing: TsuiButton;
    btnUnAuditing: TsuiButton;
    btnAuditingAll: TsuiButton;
    btnUnAuditingAll: TsuiButton;
    btnOK: TsuiButton;
    tq: TADOQuery;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure gColEnter(Sender: TObject);
    procedure btnAuditingClick(Sender: TObject);
    procedure btnUnAuditingClick(Sender: TObject);
    procedure btnAuditingAllClick(Sender: TObject);
    procedure btnUnAuditingAllClick(Sender: TObject);
    procedure gDrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
  private
    { Private declarations }
  public
    Auditinged,UnAuditinged,AuditingAlled,UnAuditingAlled:Boolean;
  end;

var
  FrmAuditingPD: TFrmAuditingPD;
implementation

uses DataModule;

{$R *.dfm}

procedure TFrmAuditingPD.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  q.Close;
  tq.Close;
end;

procedure TFrmAuditingPD.FormShow(Sender: TObject);
begin
  Auditinged:=false;
  UnAuditinged:=false;
  AuditingAlled:=false;
  UnAuditingAlled:=false;

  q.Connection:=DM.adoc;
  tq.Connection:=DM.adoc;

  q.Close;
  q.SQL.Clear;
  q.SQL.Add('select * from V_Credence where [year]='+IntToStr(DM.AccountYear)+' and [Month]='+IntToStr(DM.AccountMonth)+' order by [Year],[Month],Number,RecNo');
  q.Open;
  if q.RecordCount>0 then
  begin
    btnAuditingAll.Enabled:=true;
    btnUnAuditingAll.Enabled:=true;
  end;
  btnAuditing.Enabled:=((q.FieldByName('AuditingOperator').AsString=''));
  btnUnAuditing.Enabled:=not btnAuditing.Enabled;
end;

procedure TFrmAuditingPD.gColEnter(Sender: TObject);
begin
  btnAuditing.Enabled:=((q.FieldByName('AuditingOperator').AsString=''));
  btnUnAuditing.Enabled:=not btnAuditing.Enabled;
end;

procedure TFrmAuditingPD.btnAuditingClick(Sender: TObject);
var
  Num:integer;
  RecNo:integer;
begin
  Num:=q.FieldByName('Number').AsInteger;
  RecNo:=q.RecNo;
  tq.Close;
  tq.SQL.Clear;
  tq.SQL.Add('update Credence set AuditingOperator_id='+IntToStr(DM.UserID)+' where [Year]='+IntToStr(DM.AccountYear)+' and [Month]='+IntToStr(DM.AccountMonth)+' and Number='+IntToStr(Num));
  tq.ExecSQL;
  tq.Close;
  q.Requery;
  q.RecNo:=RecNo;
  btnAuditing.Enabled:=false;
  btnUnAuditing.Enabled:=true;
  btnAuditingAll.Enabled:=true;
  btnUnAuditingAll.Enabled:=true;
  Auditinged:=true; //做过审核通过凭证,用于记录 Log
end;

procedure TFrmAuditingPD.btnUnAuditingClick(Sender: TObject);
var
  Num:integer;
  RecNo:integer;
begin
  Num:=q.FieldByName('Number').AsInteger;
  RecNo:=q.RecNo;
  tq.Close;
  tq.SQL.Clear;
  tq.SQL.Add('update Credence set AuditingOperator_id=null where [Year]='+IntToStr(DM.AccountYear)+' and [Month]='+IntToStr(DM.AccountMonth)+' and Number='+IntToStr(Num));
  tq.ExecSQL;
  tq.Close;
  q.Requery;
  q.RecNo:=RecNo;
  btnAuditing.Enabled:=true;
  btnUnAuditing.Enabled:=false;
  btnAuditingAll.Enabled:=true;
  btnUnAuditingAll.Enabled:=true;
  UnAuditinged:=true; //做过取消审核通过凭证,用于记录 Log
end;

procedure TFrmAuditingPD.btnAuditingAllClick(Sender: TObject);
var
  RecNo:integer;
begin
  if Frm_MsgBox('系统信息','确信要成批审核尚未审核通过的凭证吗?',MsgBox_YESNO)=mrNo then Exit;
  RecNo:=q.RecNo;
  tq.Close;
  tq.SQL.Clear;
  tq.SQL.Add('update Credence set AuditingOperator_id='+IntToStr(DM.UserID)+' where [Year]='+IntToStr(DM.AccountYear)+' and [Month]='+IntToStr(DM.AccountMonth)+' and AuditingOperator_id is null');
  tq.ExecSQL;
  tq.Close;
  q.Requery;
  q.RecNo:=RecNo;
  btnAuditing.Enabled:=false;
  btnUnAuditing.Enabled:=true;
  btnAuditingAll.Enabled:=false;
  btnUnAuditingAll.Enabled:=true;
  AuditingAlled:=true; //做过成批审核通过凭证,用于记录 Log
end;

procedure TFrmAuditingPD.btnUnAuditingAllClick(Sender: TObject);
var
  RecNo:integer;
begin
  if Frm_MsgBox('系统信息','确信要成批取消已经审核通过的凭证吗?',MsgBox_YESNO)=mrNo then Exit;
  RecNo:=q.RecNo;
  tq.Close;
  tq.SQL.Clear;
  tq.SQL.Add('update Credence set AuditingOperator_id=null where [Year]='+IntToStr(DM.AccountYear)+' and [Month]='+IntToStr(DM.AccountMonth));
  tq.ExecSQL;
  tq.Close;
  q.Requery;
  q.RecNo:=RecNo;
  btnAuditing.Enabled:=true;
  btnUnAuditing.Enabled:=false;
  btnAuditingAll.Enabled:=true;
  btnUnAuditingAll.Enabled:=false;
  UnAuditingAlled:=true; //做过成批取消审核通过凭证,用于记录 Log
end;

procedure TFrmAuditingPD.gDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
var
  oldcolor:tcolor;
  oldpm:tpenmode;
  oldFontColor:TColor;
begin
  oldpm:= g.Canvas.pen.mode;
  oldcolor:= g.Canvas.Brush.color;
  oldFontColor:=g.Canvas.Font.Color;

  if (q.FieldByName('RecNo').AsInteger=1) then {设定变色的行的条件}
  begin
    g.Canvas.Brush.color:=$00E8E8E8;
    g.Canvas.pen.mode:=pmmask;
  end;
  if ((column.FieldName='J_Money') and (q.FieldByName('J_Money').AsCurrency<0)) or
       ((column.FieldName='D_Money') and (q.FieldByName('D_Money').AsCurrency<0)) then
    g.Canvas.Font.Color:=RGB(255,0,0);
  if ((column.FieldName='Year') or (column.FieldName='Month')
     or (column.FieldName='Number') or (column.FieldName='DateTime')
     or (column.FieldName='AccessoryNum') or (column.FieldName='MakeOperator')
     or (column.FieldName='AuditingOperator'))
     and (q.FieldByName('RecNo').AsInteger<>1) then
    g.Canvas.Font.Color:=RGB(255,255,255);

  g.DefaultDrawColumnCell (Rect,DataCol, Column, State);
  g.Canvas.Brush.color:=oldcolor;
  g.Canvas.pen.mode:=oldpm;
  g.Canvas.Font.Color:=oldFontColor;
end;

end.

⌨️ 快捷键说明

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