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

📄 bmmlgl.pas

📁 服务信息管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
          lsbl_bmbh := bmmlquery.FieldByName('bmbh').AsString;
          lsbl_bmbh := copy(lsbl_bmbh, strtoint(lsbl_bmbhcd) + 1, 3);
          lsbl_bmbh := inttostr(strtoint(lsbl_bmbh) + 1);
          lsbl_bmbh := Copy('00000000000000000000', 1, 3 - length(lsbl_bmbh)) +
            lsbl_bmbh;
        end
      else
        begin
          lsbl_bmbh := '001';
        end;
    end
  else
    lsbl_bmbh := '001';
  bmml_bjzt := '';
  bmbhEdit.Enabled := True;
  bmmcEdit.Text := '';
  dhEdit.Text := '';
  fzrEdit.Text := '';
  emailEdit.Text := '';
  bzEdit.Text := '';
  bmmlquery.Close;
  Bmbhedit.Text := lsbl_bmbh;
  bmbhEdit.SetFocus;
  bmml_bjzt := 'TjAdd';
end;

procedure Tbmmlform.bmxjaddButtonClick(Sender: TObject);
var
  lsbl_bmbh, lsbl_bmbhcd, lsbl_level: string;
begin
  bmml_bjzt := '';
  bmbhEdit.Enabled := True;
  bmbhEdit.SetFocus;
  bmmcEdit.Text := '';
  dhEdit.Text := '';
  fzrEdit.Text := '';
  emailEdit.Text := '';
  bzEdit.Text := '';
  lsbl_bmbhcd := inttostr(length(bmml_dqbmbh));
  lsbl_level := inttostr(bmmlview.Selected.Level + 1);
  with bmmlQuery do
    begin
      Close;
      SQL.Clear;
      SQL.Add('Select max(bm_bh) as bmbh From bmmlk');
      SQL.Add('where left(bm_bh,' + lsbl_bmbhcd + ')=''' + bmml_dqbmbh + '''');
      SQL.Add('and bm_jb=''' + lsbl_level + '''');
      Open;
      First;
    end;
  if bmmlquery.FieldByName('bmbh').AsString <> '' then
    begin
      lsbl_bmbh := bmmlquery.FieldByName('bmbh').AsString;
      lsbl_bmbh := copy(lsbl_bmbh, strtoint(lsbl_bmbhcd) + 1, 3);
      lsbl_bmbh := inttostr(strtoint(lsbl_bmbh) + 1);
      lsbl_bmbh := Copy('00000000000000000000', 1, 3 - length(lsbl_bmbh)) +
        lsbl_bmbh;
    end
  else
    begin
      lsbl_bmbh := '001';
    end;
  Bmbhedit.Text := lsbl_bmbh;
  bmml_bjzt := 'XjAdd';
end;

function Tbmmlform.datasave: Boolean; //数据保存函数
var
  cMessage: string;
  MainNode: TTreeNode;
begin
  Result := True;
  if bmbhEdit.Text = '' then
    begin
      MessageDlg('部门编号不能为空', mtError, [mbOk], 0);
      BmbhEdit.SetFocus;
      Result := False;
      exit;
    end;
  if bmmcEdit.Text = '' then
    begin
      MessageDlg('部门名称不能为空', mtError, [mbOk], 0);
      BmmcEdit.SetFocus;
      Result := False;
      exit;
    end;
  with bmmlQuery do
    begin
      Close;
      SQL.Clear;
      SQL.Add('Select bm_bh,bm_mc From bmmlk');
      if bmml_bjzt = 'TjAdd' then
        SQL.Add('where Trim(bm_bh)=''' + bmml_bmbh + bmbhEdit.Text + '''')
      else
        SQL.Add('where Trim(bm_bh)=''' + bmml_dqbmbh + bmbhEdit.Text + '''');
      Open;
      First;
      if (FieldByName('bm_bh').AsString <> '') and (bmml_bjzt <> 'Edit') then
        begin
          cMessage := '已存在部门【' + Trim(FieldByName('Bm_bh').AsString) +
            ' ';
          cMessage := cMessage + Trim(FieldByName('Bm_mc').AsString) +
            '】,请重新输入编号';
          MessageDlg(cMessage, mtError, [mbOk], 0);
          close;
          BmbhEdit.SetFocus;
          Result := False;
          exit;
        end
      else
        Close;
    end;

  if bmml_bjzt = 'Edit' then
    begin
      with bmmlQuery do
        begin
          Close;
          SQL.Clear;
          SQL.Add('update bmmlk set bm_mc=''' + bmmcEdit.Text + '''');
          SQL.Add(',bm_fzr=''' + fzrEdit.Text + '''');
          SQL.Add(',bm_dh=''' + dhEdit.Text + '''');
          SQL.Add(',bm_email=''' + emailEdit.Text + '''');
          SQL.Add(',bm_bz=''' + bzEdit.Text + '''');
          SQL.Add('where Trim(bm_bh)=''' + bmml_dqbmbh + '''');
          Prepare;
          try
            ExecSQL;
            BmmlView.Selected.Text := bmbhEdit.Text + ' ' + bmmcEdit.Text;
          except
            MessageDlg('更新数据失败', mtWarning, [mbOk], 0);
            Result := False;
            exit;
          end;
        end;
    end
  else
    begin
      if bmml_bjzt = 'TjAdd' then
        begin
          with bmmlQuery do
            begin
              Close;
              SQL.Clear;
              SQL.Add('Insert into bmmlk (bm_bh,bm_mc,bm_fzr,bm_dh,bm_email,bm_bz,bm_jb)');
              SQL.Add(' values (''' + bmml_bmbh + bmbhEdit.Text + '''' + ',''' +
                bmmcEdit.Text + '''');
              SQL.Add(',''' + fzrEdit.Text + '''' + ',''' + dhEdit.Text + '''');
              SQL.Add(',''' + emailEdit.Text + '''' + ',''' + bzEdit.Text +
                '''');
              if bmmlView.Items.count = 0 then
                SQL.Add(',''' + '0' + '''' + ')')
              else
                SQL.Add(',''' + inttostr(bmmlview.Selected.level) + '''' + ')');
              Prepare;
              try
                ExecSQL;
                if bmmlView.Items.count = 0 then
                  MainNode := bmmlView.Items.AddChild(nil, bmbhEdit.Text + ' ' +
                    bmmcEdit.Text)
                else
                  begin
                    if bmmlview.Selected.Level = 0 then
                      MainNode := bmmlView.Items.AddChild(nil, bmbhEdit.Text +
                        ' ' + bmmcEdit.Text)
                    else
                      MainNode :=
                        bmmlView.Items.AddChild(bmmlview.Selected.Parent,
                        bmbhEdit.Text + ' ' + bmmcEdit.Text);
                  end;
                Mainnode.SelectedIndex := 12;
                Mainnode.ImageIndex := 13;
                MainNode.Selected := True;
              except
                MessageDlg('更新数据失败', mtWarning, [mbOk], 0);
                Result := False;
                exit;
              end;
            end;
        end
      else
        begin
          with bmmlQuery do
            begin
              Close;
              SQL.Clear;
              SQL.Add('Insert into bmmlk (bm_bh,bm_mc,bm_fzr,bm_dh,bm_email,bm_bz,bm_jb)');
              SQL.Add(' values (''' + bmml_dqbmbh + bmbhEdit.Text + '''' + ','''
                + bmmcEdit.Text + '''');
              SQL.Add(',''' + fzrEdit.Text + '''' + ',''' + dhEdit.Text + '''');
              SQL.Add(',''' + emailEdit.Text + '''' + ',''' + bzEdit.Text +
                '''');
              SQL.Add(',''' + inttostr(bmmlview.Selected.level + 1) + '''' +
                ')');
              Prepare;
              try
                ExecSQL;
                MainNode := bmmlView.Items.AddChild(bmmlview.Selected,
                  bmbhEdit.Text + ' ' + bmmcEdit.Text);
                Mainnode.SelectedIndex := 12;
                Mainnode.ImageIndex := 13;
                MainNode.Selected := True;
              except
                MessageDlg('更新数据失败', mtWarning, [mbOk], 0);
                Result := False;
                exit;
              end;
            end;
        end;
    end;
end;

procedure Tbmmlform.BitbtnsaveClick(Sender: TObject);
var
  lsbl_save: Boolean;
begin
  lsbl_save := datasave();
  if lsbl_save = True then
    begin
      Bitbtnsave.Enabled := False;
      if bmmlView.Items.Count <> 0 then
        begin
          Bmxjaddbutton.Enabled := True;
          DeleteBmButton.Enabled := True;
        end;
    end;
end;

procedure Tbmmlform.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
  lsbl_save: Boolean;
begin
  if Bitbtnsave.Enabled = True then
    begin
      case MessageDlg('数据已修改,是否保存修改?', mtConfirmation,
        mbYesNoCancel, 0) of
        mrYes:
          begin
            lsbl_save := datasave();
            if lsbl_save = False then
              Canclose := False;
          end;
        mrCancel: Canclose := False;
      end;
    end;
end;

procedure Tbmmlform.DeleteBmButtonClick(Sender: TObject);
begin
  if bmmlView.Selected <> nil then
    begin
      if MessageDlg('确实要删除部门【' + bmmlView.Selected.Text + '】',
        mtConfirmation, [mbYes, mbNo], 0) = mrYes then
        begin
          with bmmlQuery do
            begin
              Close;
              SQL.Clear;
              SQL.Add('Delete from bmmlk where Trim(bm_bh)=''' + bmml_dqbmbh +
                '''');
              Prepare;
              try
                ExecSQL;
                bmmlview.Selected.Delete;
                BmmlView.OnClick(sender);
              except
                MessageDlg('删除数据失败', mtWarning, [mbOk], 0);
                exit;
              end;
            end;
        end;
    end;
end;

procedure Tbmmlform.PrintviewButtonClick(Sender: TObject);
begin
  if frmbmmlprint = nil then
    frmbmmlprint := Tfrmbmmlprint.create(self);
  frmbmmlprint.QuickRep1.ReportTitle := '《部门目录》';
  frmbmmlprint.QuickRep1.Preview;
  frmbmmlprint.Free;
  frmbmmlprint := nil;
end;

procedure Tbmmlform.PrintButtonClick(Sender: TObject);
begin
  if frmbmmlprint = nil then
    frmbmmlprint := Tfrmbmmlprint.create(self);
  frmbmmlprint.QuickRep1.ReportTitle := '《部门目录》';
  frmbmmlprint.QuickRep1.Print;
  frmbmmlprint.Free;
  frmbmmlprint := nil;
end;

end.

⌨️ 快捷键说明

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