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

📄 frm_bussinessmanedit.pas

📁 这是一个基于delphi平台的物流空运管理系统!
💻 PAS
字号:
unit Frm_BussinessManEdit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Frm_Cargo, XPMenu, StdCtrls, DB, ADODB;

type
  TFrmBussinessManEdit = class(TFrmCargo)
    Label1: TLabel;
    EdtCode: TEdit;
    Label2: TLabel;
    EdtName: TEdit;
    Label3: TLabel;
    CmbArea: TComboBox;
    Label12: TLabel;
    CmbDept: TComboBox;
    Label5: TLabel;
    CmbType: TComboBox;
    Label4: TLabel;
    EdtRemark: TEdit;
    BtnAdd: TButton;
    BtnSave: TButton;
    BtnClose: TButton;
    QryTemp: TADOQuery;
    procedure BtnAddClick(Sender: TObject);
    procedure BtnSaveClick(Sender: TObject);
    procedure BtnCloseClick(Sender: TObject);
    procedure CmbDeptExit(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    IsEdit: Boolean;
    BussinessManCode: string;
    { Public declarations }
  end;

var
  FrmBussinessManEdit: TFrmBussinessManEdit;

implementation

uses Frm_Main, Frm_BussinessMan;

{$R *.dfm}

procedure TFrmBussinessManEdit.BtnAddClick(Sender: TObject);
begin
  inherited;
  EdtCode.Text := '';
  EdtName.Text := '';
  CmbArea.Text := '';
  CmbDept.Text := '';
  CmbType.Text := '';
  EdtRemark.Text := '';
  BussinessManCode := '';
  BtnAdd.Enabled := False;
  IsEdit := False;
  EdtCode.SetFocus;
end;

procedure TFrmBussinessManEdit.BtnSaveClick(Sender: TObject);
var
  SqlStr: string;
   ArrayCount: Integer;
  ValueArray: array[0..20] of string;
  BeUpdateCode: Boolean;
  I: Integer;
begin
  if FrmMain.IncludeValue('普通代码维护') then
  else
    begin
       ShowMessage('对不起,你不具有该操作的权限!');
       exit;
    end;

  if trim(EdtCode.Text) = '' then
  begin
    ShowMessage('代码不能够为空,请输入');
    EdtCode.SetFocus;
    exit;
  end;

  if trim(EdtCode.Text) <> BussinessManCode then //判断主健是否存在
  begin
    if FrmMain.CheckExistCount('Code', EdtCode.Text, 'BussinessMan') > 0 then
    begin
      ShowMessage('代码已经存在,请重新输入');
      EdtCode.SetFocus;
      exit;
    end;
  end;


  if IsEdit then
  begin
    try
      FrmMain.UseDB.BeginTrans;
      BeUpdateCode := false;
      if UpperCase(trim(EdtCode.Text)) = UpperCase(BussinessManCode) then
      else
      begin
        BeUpdateCode := true;
        if (FrmMain.CheckExistCount('BussinessCode', BussinessManCode, 'CustomerInfo') > 0) and (BussinessManCode <> EdtCode.Text) then
        begin
          if MessageDlg('该代码已经使用,不能够进行修改,,是否继续执行,请确定!', mtConfirmation, [mbYes,mbNo],0) = mrno then
          begin
            EdtCode.Text := BussinessManCode;
            frmMain.UseDB.RollbackTrans;
            exit;
          end;
          //更新港口信息
          SqlStr := 'UpDate CustomerInfo set BussinessCode=''' + trim(EdtCode.Text) + ''' where BussinessCode=''' + BussinessManCode + '''';
          if FrmMain.ExecSQL(SqlStr) then
          else
          begin
            ShowMessage('更新代码记录失败,请检查!');
            exit;
          end;

        end
        else
        begin
          BeUpdateCode := true;
        end;
      end;

      SqlStr := '';
      FrmMain.UpStr(SqlStr, 'BussinessMan');
      if BeUpdateCode then
        FrmMain.UpStr(SqlStr, 'Code', trim(EdtCode.text), ',');
      FrmMain.UpStr(SqlStr, 'Name', trim(EdtName.text), ',');
      FrmMain.UpStr(SqlStr, 'Area', trim(CmbArea.text), ',');
      FrmMain.UpStr(SqlStr, 'Dept', trim(FrmMain.GetFieldText(CmbDept.Text, 1)), ',');
      FrmMain.UpStr(SqlStr, 'Type', trim(CmbType.text), ',');
      FrmMain.UpStr(SqlStr, 'Remark', trim(EdtRemark.text), '');
      FrmMain.UpStr(SqlStr, 'Code=', trim(BussinessManCode), 'w');
      if FrmMain.ExecSQL(SqlStr) then
      else
      begin
        ShowMessage('更新代码记录失败,请检查!');
        exit;
      end;

      BussinessManCode := EdtCode.Text;

      ValueArray[0] := EdtCode.Text;
      ValueArray[1] := EdtName.Text;
      ValueArray[2] := CmbArea.Text;
      ValueArray[3] := trim(FrmMain.GetFieldText(CmbDept.Text, 1));
      ValueArray[4] := trim(FrmMain.GetFieldText(CmbDept.Text, 2));
      ValueArray[5] := trim(CmbType.Text);
      ValueArray[6] := trim(EdtRemark.Text);;
      ArrayCount := 6;
      FrmMain.RefeshOne(ValueArray, ArrayCount, FrmBussinessMan.lv);
      FrmMain.UseDB.CommitTrans;
    except
      FrmMain.UseDB.RollbackTrans;
      ShowMessage('更新代码记录失败,请检查!');
      exit;
    end;

  end
  else
  begin

    try

      SqlStr := 'Insert Into BussinessMan(Code,Name,Area,Dept,Type,Remark) values(';
      FrmMain.InsStr(SqlStr, trim(EdtCode.text), ',');
      FrmMain.InsStr(SqlStr, trim(EdtName.text), ',');
      FrmMain.InsStr(SqlStr, trim(CmbArea.text), ',');
      FrmMain.InsStr(SqlStr, FrmMain.GetFieldText(CmbDept.Text, 1), ',');
      FrmMain.InsStr(SqlStr, trim(CmbType.text), ',');
      FrmMain.InsStr(SqlStr, trim(EdtRemark.text), '');
      if FrmMain.ExecSQL(SqlStr) then
      else
      begin
        ShowMessage('插入记录失败,请检查!');
        exit;
      end;

      IsEdit := true;
      BtnAdd.Enabled := True;
       ValueArray[0] := EdtCode.Text;
      ValueArray[1] := EdtName.Text;
      ValueArray[2] := CmbArea.Text;
      ValueArray[3] := trim(FrmMain.GetFieldText(CmbDept.Text, 1));
      ValueArray[4] := trim(FrmMain.GetFieldText(CmbDept.Text, 2));
      ValueArray[5] := trim(CmbType.Text);
      ValueArray[6] := trim(EdtRemark.Text);;
      ArrayCount := 6;
      FrmMain.AddListView(ValueArray, ArrayCount, FrmBussinessMan.lv);
      BussinessManCode := EdtCode.Text;
    except
      ShowMessage('插入记录失败,请检查!');
      exit;
    end;
  end;
  if CmbArea.Text <> '' then
  begin
    for i := 0 to CmbArea.Items.Count - 1 do
    begin
      if CmbArea.Text = CmbArea.Items[i] then
        Exit;
    end;
    CmbArea.Items.Add(CmbArea.Text);
    CmbArea.Refresh;
  end;


  if CmbType.Text <> '' then
  begin
    for i := 0 to CmbType.Items.Count - 1 do
    begin
      if CmbType.Text = CmbType.Items[i] then
        Exit;
    end;
    CmbType.Items.Add(CmbType.Text);
    CmbType.Refresh;
  end;
end;

procedure TFrmBussinessManEdit.BtnCloseClick(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure TFrmBussinessManEdit.CmbDeptExit(Sender: TObject);
begin
  inherited;
CmbDept.Text := Frmmain.CheckComboBox(CmbDept);
end;

procedure TFrmBussinessManEdit.FormActivate(Sender: TObject);
var
  SqlStr: string;
begin
  inherited;
  SqlStr := 'Select Code,CName from DeptmentInfo';
  FrmMain.Full_FilterCombobox(CmbDept, SqlStr, 'Code', 'CName');
  EdtCode.SetFocus;
  SqlStr:='Select distinct Area from BussinessMan where Area <>''''';
  FrmMain.Full_FilterCombobox(CmbArea,Sqlstr,'Area');
  SqlStr:='Select distinct Type from BussinessMan where Type<>''''';
  Frmmain.Full_FilterCombobox(CmbType,Sqlstr,'Type');

  if IsEdit then
  begin
    with FrmBussinessMan do
    begin
      try
        with QryTemp do
        begin
          Close;
          sql.Clear;
          Sql.Text := 'Select Code,Name,Area,Dept,Type,Remark From BussinessMan Where Code=''' + LV.Selected.Caption + '''';
          Open;
          EdtCode.Text := FieldByname('Code').AsString;
          EdtName.Text := FieldByname('Name').AsString;
          CmbArea.Text := FieldByname('Area').AsString;
          CmbDept.Text := FrmMain.SetComboBoxText(FieldByname('Dept').AsString, CmbDept);
          CmbType.Text := FieldByname('Type').AsString;
          EdtRemark.Text := FieldByname('Remark').AsString;
          BussinessManCode := FieldByname('Code').AsString;
        end;
      except
        if QryTemp.Active then QryTemp.Close;
        ShowMessage('查询错误,返回!');
        Exit;
      end;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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