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

📄 uperson.pas

📁 一个地方税务征收管理系统
💻 PAS
字号:
unit uperson;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons, ExtCtrls, dialogs, DBGridEhImpExp, Grids, DBGridEh, Menus, ComCtrls;

type
  Tperson = class(TForm)
    Splitter1: TSplitter;
    Panel2: TPanel;
    Panel1: TPanel;
    Panel3: TPanel;
    Button2: TButton;
    Button3: TButton;
    b_del: TButton;
    Button5: TButton;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    DBGridEh1: TDBGridEh;
    TabSheet2: TTabSheet;
    DBGridEh2: TDBGridEh;
    BitBtn5: TBitBtn;
    BitBtn3: TBitBtn;
    SaveDialog1: TSaveDialog;
    Panel4: TPanel;
    Button4: TButton;
    treeview1: TTreeView;
    procedure CancelBtnClick(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure add_TV;
    procedure FormCreate(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure b_delClick(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  person: Tperson;

implementation

uses DB, uacount_new, u_dm, uperson_edit, ADODB, uperson_edit2,
  uperson_append, u_main, RICH_SYS, frm_dbgrideh_print_set;

{$R *.dfm}

procedure Tperson.CancelBtnClick(Sender: TObject);
begin
  close;
end;

procedure Tperson.N2Click(Sender: TObject);
begin
  if MessageDlg('真的准备删除该农户吗?', mtWarning, mbOKCancel, 0) = idok then
    dm1.A_Person.Delete;
end;

procedure Tperson.Button1Click(Sender: TObject);
var
  s: string;
begin
  add_TV;
  dm1.A_Person.Requery();
  dm1.A_Person_r.Requery();

  DBGridEh1.SumList.Active := False;
  DBGridEh1.SumList.Active := true;
  DBGridEh2.SumList.Active := False;
  DBGridEh2.SumList.Active := true;

end;

procedure Tperson.Button5Click(Sender: TObject);
var
  t: Tperson_append;
begin
  t := Tperson_append.Create(Self);
  t.Show;

end;

procedure Tperson.Button2Click(Sender: TObject);
var
  t: Tperson_edit;
begin
  t := Tperson_edit.Create(self);
  t.Load_data;
  t.b_append.Click;
  t.ShowModal;

end;

procedure Tperson.Button3Click(Sender: TObject);
var
  t: Tperson_edit2;
begin
  t := Tperson_edit2.Create(self);
  t.Load_data;
  t.ShowModal;
end;

procedure Tperson.add_TV;
var
  tvNode, tvnode2, tvnode3: TTreeNode;
  cun, she, s: string;
begin
  dm1.Open_Q1('select distinct left(she_no,2) as cun from she');
  with TreeView1, dm1 do
  begin
    Items.Clear;
    q_1.First;
    tvNode := Items.Add(nil, '所有村');
    while not Q_1.Eof do
    begin
      cun := trim(Q_1.fieldbyname('cun').AsString);
      tvnode2 := Items.AddChild(tvNode, cun + '村');
      s := 'select substring(she_no,3,1) as she,she_name,she_master from she where left(she_no,2)='
        + string_sqlText(cun);
      dm1.Open_Q2(s);
      while not q_2.Eof do
      begin
        she := trim(Q_2.fieldbyname('she').AsString);
        s := she + '社(' + trim(Q_2.fieldbyname('she_name').AsString) + ':社长:'
          + trim(Q_2.fieldbyname('she_master').AsString) + ')';
        tvnode3 := Items.AddChild(tvNode2, s);
        q_2.Next;
      end;
      Q_1.Next;
    end;
  end;

end;

procedure Tperson.FormCreate(Sender: TObject);
begin
  //  add_TV;
  if FileExists(main.App_path + 'person.txt') then
    TreeView1.LoadFromFile(main.App_path + 'person.txt');

end;

procedure Tperson.TreeView1Click(Sender: TObject);
var
  s, she, n_l: string;
  Mnode: TTreeNode;
begin
  if not dm1.A_Person.Active then
  begin
    with dm1.A_Person do
    begin
      Close;
      Parameters.ParamByName('she').Value := '%';
      open;
    end;

    with dm1.A_Person_R do
    begin
      Close;
      Parameters.ParamByName('she').Value := '%';
      open;
    end;
  end;

  case TreeView1.Selected.Level of
    3:
      begin
        n_l := TreeView1.Selected.Text;

        Mnode := TreeView1.Selected.Parent;
        she := LeftStr(Mnode.Text, 1);

        Mnode := Mnode.Parent;
        she := LeftStr(Mnode.Text, 2) + she;

        s := 'name like ' + string_sqlText(n_l + '%') +
          ' and pno like ' + string_sqlText(she + '%');
        //   MessageDlg(s, mtWarning, [mbok], 0);
      end;
    2:
      begin
        she := LeftStr(TreeView1.Selected.Text, 1);
        Mnode := TreeView1.Selected.Parent;
        she := LeftStr(Mnode.Text, 2) + she;
        s := 'pno like ' + string_sqlText(she + '%');
      end;
    1:
      begin
        she := LeftStr(TreeView1.Selected.Text, 2);
        s := 'pno like ' + string_sqlText(she + '%');
      end;
    0:
      begin
        s := '';
      end;
  end;
  dm1.a_person_R.Filter := s;
  dm1.A_person_r.Filtered := true;

  dm1.a_person.Filter := s;
  dm1.A_person.Filtered := true;

end;

procedure Tperson.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure Tperson.BitBtn3Click(Sender: TObject);
var
  s: string;
begin
  s := main.dw + main.ACOUNT_YEAR + '年农户花名册';
  with Tdbgrideh_print.Create(self) do
  begin
    PrintDBGridEh1.DBGridEh := DBGridEh1;
    L_TITLE_CENTER.Caption := s;
    s := '报表时间:' + DateToStr(Date);
    L_GRIDE_BEFOR.Caption := s;
    ShowModal;
  end;
end;

procedure Tperson.BitBtn5Click(Sender: TObject);
begin
  if SaveDialog1.Execute then
  begin
    if SaveDialog1.FileName <> '' then
    begin
      if UpperCase(Copy(SaveDialog1.FileName, Length(SaveDialog1.FileName) -
        2, 3)) <> 'XLS' then
        SaveDialog1.FileName := SaveDialog1.FileName + '.XLS';
      if PageControl1.ActivePageIndex = 0 then
        SaveDBGridEhToExportFile(TDBGridEhExportAsXLS, DBGridEh1,
          SaveDialog1.FileName, true)
      else
        SaveDBGridEhToExportFile(TDBGridEhExportAsXLS, DBGridEh2,
          SaveDialog1.FileName, true);

      MessageDlg('网格数据已成功导出到文件!', mtWarning, [mbok], 0);
    end;
  end;
end;

procedure Tperson.b_delClick(Sender: TObject);
var
  s: string;
begin
  if PageControl1.ActivePageIndex = 0 then
  begin
    if MessageDlg('真的确定删除 [' +
      trim(dm1.A_Person.fieldbyname('name').AsString) + ' ]吗?', mtWarning,
      mbOKCancel, 0) = idok then
    begin
      s := 'update person set state=1 where person_id=' +
        dm1.A_Person.fieldbyname('person_id').AsString;
      dm1.EXE_SQL(s);
      s := dm1.A_Person.fieldbyname('person_id').AsString;
      dm1.A_Person.Requery();
      dm1.A_person_r.Requery();
      dm1.A_Person.Locate('person_id', StrToInt(s) - 1, []);
    end;
  end
  else
  begin
    if MessageDlg('真的确定还原 [' +
      trim(dm1.A_Person_R.fieldbyname('name').AsString) + ' ]吗?', mtWarning,
      mbOKCancel, 0) = idok then
    begin
      s := 'update person set state=0 where person_id=' +
        dm1.A_Person_r.fieldbyname('person_id').AsString;
      dm1.EXE_SQL(s);
      s := dm1.A_Person_r.fieldbyname('person_id').AsString;
      dm1.A_Person.Requery();
      dm1.A_person_r.Requery();

      dm1.A_Person_r.Locate('person_id', StrToInt(s) - 1, []);
    end;
  end;
end;

procedure Tperson.PageControl1Change(Sender: TObject);
begin
  if PageControl1.ActivePageIndex = 0 then
    b_del.Caption := '删除(&D)'
  else
    b_del.Caption := '还原(&U)';
end;

procedure Tperson.Button4Click(Sender: TObject);
begin
  main.add_tv(treeview1);
  TreeView1.SaveToFile(main.App_path + 'person.txt');

end;

end.

⌨️ 快捷键说明

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