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

📄 usetagion.pas

📁 适合行业为眼镜业
💻 PAS
字号:
unit USetAgion;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, fm_Base, StdCtrls, Buttons, ExtCtrls, ComCtrls, DB, DBClient,
  LabeledEditint;

type
  TfmSetAgion = class(TfmBase)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    TreeBase: TTreeView;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    btnOk: TBitBtn;
    btnCancel: TBitBtn;
    cdsdata: TClientDataSet;
    edtagion: TLabeledEditint;
    edtmoney: TLabeledEditint;
    procedure btnCancelClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure TreeBaseClick(Sender: TObject);
    procedure btnOkClick(Sender: TObject);
  private
    { Private declarations }
    function Empty(NO:string):integer;
    function ReadTree(Bm:string='';Tnode:TTreeNode=nil):integer;//(1:无数据,2:有数据,3:异常);
    function ReadAgion(no:string):boolean;
  public
    { Public declarations }
  end;

var
  fmSetAgion: TfmSetAgion;

implementation

uses func;

{$R *.dfm}
/////////////////////////////////
function TfmSetAgion.ReadAgion(no:string):boolean;
var
  sql:widestring;
  datas:olevariant;
begin
  result:=false;
  sql:='select agiomax,agiomoneymax from useragio where p_no='+''''+trim(no)+'''';
  cdsdata.Close;
  cdsdata.Data:=null;
  datas:=null;
  try
    datas:=adisp.execSql(sql);
    if not varisnull(datas) then
    begin
      cdsdata.Data:=datas;
      datas:=null;
      if not cdsdata.IsEmpty then
      begin
        edtagion.Text:=cdsdata.fieldbyname('agiomax').AsString;
        edtmoney.Text:=cdsdata.fieldbyname('agiomoneymax').AsString;
        result:=true;
      end;
    end
  except
  end;
  cdsdata.Close;
  cdsdata.Data:=null;
end;
function TfmSetAgion.Empty(NO:string):integer;
var
  sql:widestring;
  datas:olevariant;
  f:integer;
begin
  f:=1;
  try
    if trim(no)<>'' then
    begin
    sql:='select id from useragio where p_no='+''''+trim(No)+'''';
    end else
    begin
      sql:='select id from useragio';
    end;
    cdsdata.Close;
    cdsdata.Data:=null;
    datas:=null;
    ipubtemp.ty_query(sql,datas);
    if not varisnull(datas) then
    begin
      cdsdata.Data:=datas;
      datas:=null;
      cdsdata.Open;
      if not cdsdata.IsEmpty then
      begin
        f:=2;
      end ;
    end;
  except
    f:=3;
  end;
  result:=f;
end;
function TfmSetAgion.ReadTree(Bm:string='';Tnode:TTreeNode=nil):integer;
var
  sql:widestring;
  node:ttreenode;
  datas:olevariant;
  f:integer;
begin
  f:=1;
  if trim(bm)='' then
  begin
    sql:='select part_name as name,part_no as no from part where isnull(one_partno,'+''''+'0'+''''+')='+''''+'0'+'''';
  end else
  begin
    sql:='select p_no as no,employe_name as name from chang where part='+''''+trim(bm)+'''';
  end;
  datas:=null;
  cdsdata.Close;
  cdsdata.Data:=null;
  try
    ipubtemp.ty_query(sql,datas);
    if not varisnull(datas) then
    begin
      cdsdata.Data:=datas;
      datas:=null;
      cdsdata.Open;
      if not cdsdata.IsEmpty then
      begin
        while not cdsdata.Eof do
        begin
          if trim(bm)='' then
          begin
           node:=treebase.Items.add(tnode,trim(cdsdata.fieldbyname('no').AsString)+'_'+trim(cdsdata.fieldbyname('name').AsString));
          end else
          begin
            if (tnode.Count<cdsdata.RecordCount) and (tnode.Parent=nil) then 
            node:=treebase.Items.AddChild(tnode,trim(cdsdata.fieldbyname('no').AsString)+'_'+trim(cdsdata.fieldbyname('name').AsString));
          end;
          cdsdata.Next;
        end;
      end else
      begin
        f:=2;
      end;
    end;
  except
    f:=3;
  end;
  cdsdata.Close;
  cdsdata.Data:=null;
  result:=f;
end;

///////////////////////////////////
procedure TfmSetAgion.btnCancelClick(Sender: TObject);
begin
  inherited;
  close;
end;

procedure TfmSetAgion.FormShow(Sender: TObject);
var
  i:integer;
  sql:widestring;
begin
  inherited;
  i:=empty('');
  if i=1 then
  begin
    sql:='insert into useragio (operater,p_no) select employe_name,p_no from chang';
    try
      adisp.updatesql(sql);
    except
    end;
  end;
  i:=ReadTree('',nil);
end;

procedure TfmSetAgion.TreeBaseClick(Sender: TObject);
var
  i:integer;
begin
  inherited;
  if treebase.Selected<>nil then
  begin
    i:=ReadTree(copy(trim(treebase.Selected.Text),1,pos('_',trim(treebase.Selected.Text))-1),treebase.Selected);
    edtagion.Clear;
    edtmoney.Clear;
    if treebase.Selected.Parent<>nil then
    begin
      readagion(copy(trim(treebase.Selected.Text),1,pos('_',trim(treebase.Selected.Text))-1));
    end;
  end;
end;

procedure TfmSetAgion.btnOkClick(Sender: TObject);
var
  sql:widestring;
  i:integer;
begin
  inherited;
  if (trim(edtagion.Text)='') or (trim(edtmoney.Text)='') then
  begin
    application.MessageBox('请输入员工使用折扣标准!',pchar(application.Title),mb_iconinformation);
    exit;
  end;
  if treebase.Selected.Parent<>nil then
   begin
      i:=empty(copy(trim(treebase.Selected.Text),1,pos('_',trim(treebase.Selected.Text))-1));
   end;
   case i of
    1: sql:='insert into useragio (operater,p_no,agiomax,agiomoneymax) values ('+''''+trim(copy(trim(treebase.Selected.Text),pos('_',trim(treebase.Selected.Text))+1,length(trim(treebase.Selected.Text))-pos('_',trim(treebase.Selected.Text))))+''''+','+''''+trim(copy(trim(treebase.Selected.Text),1,pos('_',trim(treebase.Selected.Text))-1))+''''+','+trim(edtagion.Text)+','+trim(edtmoney.Text)+')';
    2: sql:='update useragio set agiomax='+trim(edtagion.text)+',agiomoneymax='+trim(edtmoney.Text)+' where p_no='+''''+trim(copy(trim(treebase.Selected.Text),1,pos('_',trim(treebase.Selected.Text))-1))+'''';
   end;
  try
    adisp.updatesql(sql);
    application.MessageBox('设置成功!',pchar(application.Title),mb_iconinformation);
    exit;
  except
    application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
    exit;
  end;
end;

end.

⌨️ 快捷键说明

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