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

📄 frm_planequoteedit.pas

📁 这是一个基于delphi平台的物流空运管理系统!
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Frm_PlaneQuoteEdit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Frm_Cargo, XPMenu, StdCtrls, CoolCtrls, Grids, BaseGrid,
  AdvGrid, ExtCtrls, se_controls, KsSkinPanels, ComCtrls, DB, ADODB;

type
  TFrmPlaneQuoteEdit = class(TFrmCargo)
    Label8: TLabel;
    Label2: TLabel;
    Label13: TLabel;
    Label19: TLabel;
    Label4: TLabel;
    Label6: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label5: TLabel;
    Label21: TLabel;
    Label7: TLabel;
    Label10: TLabel;
    Label1: TLabel;
    Label3: TLabel;
    Label9: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label20: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    CmbPlaneCompany: TComboBox;
    CmbLoadPort: TComboBox;
    DtpEffectDate: TDateTimePicker;
    EdtRemark: TEdit;
    CmbCurrencyType: TComboBox;
    edtrelation: TEdit;
    CmbArea: TComboBox;
    Edt2000: TEdit;
    Edt1500: TEdit;
    Edt1000: TEdit;
    Edt500: TEdit;
    Edt300: TEdit;
    Edt100: TEdit;
    Edt45: TEdit;
    EdtN: TEdit;
    EdtM: TEdit;
    EdtQT: TEdit;
    EdtD1000: TEdit;
    EdtD500: TEdit;
    EdtS1500: TEdit;
    EdtS1000: TEdit;
    EdtS500: TEdit;
    EdtS300: TEdit;
    Edt3000: TEdit;
    Edt2500: TEdit;
    ChkOut: TCoolCheckRadioBox;
    ChkIn: TCoolCheckRadioBox;
    SeSkinPanel1: TSeSkinPanel;
    CoolPanel1: TCoolPanel;
    GridAirBaseOther: TAdvStringGrid;
    CoolBtn1: TCoolBtn;
    CoolBtn2: TCoolBtn;
    CoolBtn3: TCoolBtn;
    BtnSave: TButton;
    BtnClose: TButton;
    BtnAdd: TButton;
    QryTemp: TADOQuery;
    EdtUnLoadPort: TEdit;
    QryTemp1: TADOQuery;
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure CmbPlaneCompanyExit(Sender: TObject);
    procedure CmbLoadPortExit(Sender: TObject);
    procedure CmbCurrencyTypeExit(Sender: TObject);
    procedure CoolBtn1Click(Sender: TObject);
    procedure CoolBtn2Click(Sender: TObject);
    procedure CoolBtn3Click(Sender: TObject);
    procedure BtnAddClick(Sender: TObject);
    procedure BtnSaveClick(Sender: TObject);
    procedure BtnCloseClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    OldCheckResult: string;
    OldConclusion: string;
    AirBaseOtherRow: Integer;
    { Private declarations }
  public
    QuoteCode: string;
    IsEdit: Boolean;
    IsOtherEdit: Boolean;
    { Public declarations }
  end;

var
  FrmPlaneQuoteEdit: TFrmPlaneQuoteEdit;

implementation

uses Frm_Main, Frm_PlaneQuoteInfo;

{$R *.dfm}

procedure TFrmPlaneQuoteEdit.FormCreate(Sender: TObject);
var
  Sqlstr: string;
begin
  inherited;
  DtpEffectDate.DateTime := Now;
  Sqlstr := 'select PlaneCompanyCode,PlaneCompanyCName from PlaneCompanyInfo';
  FrmMain.Full_FilterCombobox(CmbPlaneCompany, SqlStr, 'PlaneCompanyCode',
    'PlaneCompanyCName');
  SqlStr := 'Select PortCode,PortCName From PortInfo';
  Frmmain.Full_FilterCombobox(CmbLoadPort, SqlStr, 'PortCode', 'PortCName');
  SqlStr := 'select distinct Area from airBaseQuote ';
  Frmmain.Full_FilterCombobox(CmbArea, sqlstr, 'Area');
  SqlStr := 'Select Code,CName From Currency';
  FrmMain.Full_FilterCombobox(CmbCurrencyType, SqlStr, 'Code', 'CName');
  AirBaseOtherRow := 1;
end;

procedure TFrmPlaneQuoteEdit.FormActivate(Sender: TObject);
var
  SqlStr: string;
begin
  inherited;
  if IsEdit then
  else
    Exit;
  Qrytemp.Close;
  QryTemp.SQL.Text := 'select * From AirBaseQuote where QuoteCode=''' + QuoteCode
    + '''';
  QryTemp.Open;
  CmbPlaneCompany.Text :=
    FrmMain.setcomboboxtext(QryTemp.fieldByName('PlaneCompany').AsString,
    CmbPlaneCompany);
  if QryTemp.fieldByName('PlaneCompany').AsString <> '' then
  begin
    Sqlstr := 'select ID,PlaneCompany,FareName,CurrencyType,ACount Remark from AirBaseOtherQuote where PlaneCompany='''
      + QryTemp.fieldByName('PlaneCompany').AsString + '''';
    FrmMain.AddGridData(GridAirBaseOther, Sqlstr);
    if GridAirBaseOther.Cells[0, GridAirBaseOther.RowCount - 1] <> '' then
      GridAirBaseOther.AddRow;
  end;
  CmbArea.Text := Qrytemp.fieldByName('Area').AsString;
  CmbLoadPort.Text :=
    FrmMain.setcomboboxtext(QryTemp.fieldByName('LoadPort').AsString,
    CmbLoadPort);
  EdtUnLoadPort.Text := Qrytemp.fieldByName('UnLoadPort').AsString;
  CmbCurrencyType.Text :=
    FrmMain.setcomboboxtext(QryTemp.fieldByName('CurrencyType').AsString,
    CmbCurrencyType);
  EdtM.Text := Qrytemp.fieldByName('QuoteM').AsString;
  EdtN.Text := Qrytemp.fieldByName('QuoteN').AsString;
  Edt45.Text := Qrytemp.fieldByName('Quote45').AsString;
  Edt100.Text := Qrytemp.fieldByName('Quote100').AsString;
  Edt300.Text := Qrytemp.fieldByName('Quote300').AsString;
  Edt500.Text := Qrytemp.fieldByName('Quote500').AsString;
  Edt1000.Text := Qrytemp.fieldByName('Quote1000').AsString;
  Edt1500.Text := Qrytemp.fieldByName('Quote1500').AsString;
  Edt2000.Text := Qrytemp.fieldByName('Quote2000').AsString;
  Edt2500.Text := Qrytemp.fieldByName('Quote2500').AsString;
  Edt3000.Text := Qrytemp.fieldByName('Quote3000').AsString;
  EdtS300.Text := Qrytemp.fieldByName('QuoteS300').AsString;
  EdtS500.Text := Qrytemp.fieldByName('QuoteS500').AsString;
  EdtS1000.Text := Qrytemp.fieldByName('QuoteS1000').AsString;
  EdtS1500.Text := Qrytemp.fieldByName('QuoteS1500').AsString;
  EdtD500.Text := Qrytemp.fieldByName('QuoteD500').AsString;
  EdtD1000.Text := Qrytemp.fieldByName('QuoteD1000').AsString;
  EdtQt.Text := Qrytemp.fieldByName('QuoteQt').AsString;
  if Qrytemp.fieldByName('EffecDate').AsString <> '' then
    dtpEffectDate.Date := StrTODate(Qrytemp.fieldByName('EffecDate').AsString);
  if QryTemp.FieldByName('OutIn').AsInteger = 0 then
  begin
    ChkOut.Checked := True;
    ChkIn.Checked := False;
  end;
  if QryTemp.FieldByName('OutIn').AsInteger = 1 then
  begin
    ChkOut.Checked := False;
    ChkIn.Checked := True;
  end;
  if QryTemp.FieldByName('OutIn').AsInteger = 2 then
  begin
    ChkOut.Checked := True;
    ChkIn.Checked := True;
  end;
  DtpEffectDate.Date := Strtodate(qrytemp.FieldByName('EffecDate').AsString);
  EdtRemark.Text := QryTemp.fieldByName('Remark').AsString;
  EdtRelation.Text := QryTemp.fieldByName('Relation').AsString;
end;

procedure TFrmPlaneQuoteEdit.CmbPlaneCompanyExit(Sender: TObject);
var
  Sqlstr: string;
begin
  inherited;
  CmbPlaneCompany.Text := Frmmain.CheckComboBox(CmbPlaneCompany);
  if CmbPlaneCompany.Text <> '' then
  else
    exit;
end;

procedure TFrmPlaneQuoteEdit.CmbLoadPortExit(Sender: TObject);
begin
  inherited;
  CmbLoadPort.Text := FrmMain.CheckComboBox(CmbLoadPort);
end;

procedure TFrmPlaneQuoteEdit.CmbCurrencyTypeExit(Sender: TObject);
begin
  inherited;
  CmbCurrencyType.Text := FrmMain.CheckComboBox(CmbCurrencyType);
end;

procedure TFrmPlaneQuoteEdit.CoolBtn1Click(Sender: TObject);
var
  Row1: Integer;
  SqlStr: string;
begin
  inherited;
  if FrmMain.IncludeValue('底价维护') then
  else
  begin
    ShowMessage('对不起,你不具有该操作的权限!');
    exit;
  end;
  if CmbPlaneCompany.Text = '' then
  begin
    ShowMessage('航空公司代码为空,返回');
    exit;
  end;
  if FrmMain.CheckExistCount('PlaneCompany',
    FrmMain.GetFieldText(CmbPlaneCompany.Text), 'AirBaseQuote') > 0 then
  else
  begin
    ShowMessage('航空公司代码没有保存,请保存');
    exit;
  end;

  Row1 := GridAirBaseOther.RowCount - 1;

  if GridAirBaseOther.Cells[1, Row1] <>
    FrmMain.GetFieldText(CmbPlaneCompany.Text) then
  begin
    ShowMessage('航空公司代码输入错误,与选择不符');
    exit;
  end;

  if FrmMain.TestTextNumber(GridAirBaseOther.Cells[4, Row1], 'OldRow') then
  else
  begin
    ShowMessage('请在金额中输入数值类型的信息!');
    exit;
  end;
  if GridAirBaseOther.Cells[1, Row1] <>
    FrmMain.GetFieldText(CmbPlaneCompany.Text) then
    Exit;
  try
    Sqlstr :=
      'Insert into AirBaseOtherQuote(PlaneCompany,FareName,CurrencyType,Acount,Remark) values(';
    FrmMain.InsStr(Sqlstr, Trim(GridAirBaseOther.Cells[1, Row1]), ',');
    FrmMain.InsStr(Sqlstr, Trim(GridAirBaseOther.Cells[2, Row1]), ',');
    FrmMain.InsStr(Sqlstr, Trim(GridAirBaseOther.Cells[3, Row1]), ',');
    FrmMain.InsStr(Sqlstr, StrtoFloat(Trim(GridAirBaseOther.Cells[4, Row1])),
      ',');
    FrmMain.InsStr(Sqlstr, Trim(GridAirBaseOther.Cells[5, Row1]), '');
    if FrmMain.ExecSQL(SqlStr) then
    else
    begin
      ShowMessage('插入记录失败,请检查!');
      exit;
    end;
    QryTemp1.Close;
    QryTemp1.SQL.Text := 'Select Max(ID) as ID From AirBaseOtherQuote';
    QryTemp1.Open;
    GridAirBaseOther.Cells[0, Row1] := QryTemp1.fieldByName('ID').AsString;
  except
    ShowMessage('插入记录失败,请检查!');
    exit;
  end;
  GridAirBaseOther.AddRow;

end;

procedure TFrmPlaneQuoteEdit.CoolBtn2Click(Sender: TObject);
var
  SqlStr: string;
begin
  inherited;
  if FrmMain.IncludeValue('底价维护') then
  else
  begin
    ShowMessage('对不起,你不具有该操作的权限!');
    exit;
  end;
  if (AirBaseOtherRow = 1) and (GridAirBaseOther.Cells[0, 1] = '') then
    Exit;

  try
    Sqlstr := '';
    FrmMain.UpStr(sqlstr, 'AirBaseOtherQuote');
    FrmMain.UpStr(Sqlstr, 'PlaneCompany', Trim(GridAirBaseOther.Cells[1,
      AirBaseOtherRow]), ',');
    FrmMain.UpStr(Sqlstr, 'FareName', Trim(GridAirBaseOther.Cells[2,
      AirBaseOtherRow]), ',');
    FrmMain.UpStr(Sqlstr, 'CurrencyType', Trim(GridAirBaseOther.Cells[3,
      AirBaseOtherRow]), ',');
    FrmMain.UpStr(Sqlstr, 'Acount', StrtoFloat(Trim(GridAirBaseOther.Cells[4,
      AirBaseOtherRow])), ',');
    FrmMain.UpStr(Sqlstr, 'Remark', Trim(GridAirBaseOther.Cells[5,
      AirBaseOtherRow]), '');
    FrmMain.UpStr(sqlstr, 'Id =', GridAirBaseOther.Cells[0, AirBaseOtherRow],
      'w');
    if FrmMain.ExecSQL(SqlStr) then
    else
    begin
      ShowMessage('更新记录失败,请检查!');
      exit;
    end;
  except
    ShowMessage('保存进行失败,请检查!');
    Exit;
  end;
end;

procedure TFrmPlaneQuoteEdit.CoolBtn3Click(Sender: TObject);
var
  Sqlstr: string;
begin
  inherited;
  if FrmMain.IncludeValue('底价维护') then
  else
  begin
    ShowMessage('对不起,你不具有该操作的权限!');
    exit;
  end;
  if (AirBaseOtherRow = 1) and (GridAirBaseOther.Cells[0, 1] = '') then
    Exit;

  if MessageDlg('是否删除所选中的记录,请确定', mtConfirmation, [mbYes, MbNo], 1)
    = mrNO then
    exit;

  try
    Sqlstr := 'Delete From AirbaseOtherQuote where ID=''' +
      GridAirBaseOther.Cells[0, AirBaseOtherRow] + '''';
    if FrmMain.ExecSQL(SqlStr) then
    else
    begin
      ShowMessage('记录删除失败,请检查!');
      exit;
    end;
  except
    ShowMessage('删除操作进行失败,请检查!');
    Exit;
  end;
  FrmMain.DeleteGridRow(GridAirBaseOther, 6, AirBaseOtherRow);
end;

procedure TFrmPlaneQuoteEdit.BtnAddClick(Sender: TObject);
begin
  inherited;
  BtnAdd.Enabled := False;
  IsEdit := False;
  CmbPlaneCompany.Text := '';
  CmbArea.Text := '';
  CmbLoadPort.Text := '';
  CmbCurrencyType.Text := '';
  EdtUnLoadPort.Text := '';
  DtpEffectDate.DateTime := Now;
  EdtRemark.Text := '';
  edtrelation.Text := '';
  CmbPlaneCompany.SetFocus;
end;

procedure TFrmPlaneQuoteEdit.BtnSaveClick(Sender: TObject);
var
  Sqlstr: string;
  TempRowCount: Integer;
  I: Integer;
begin
  if FrmMain.IncludeValue('底价维护') then
  else
  begin
    ShowMessage('对不起,你不具有该操作的权限!');
    exit;
  end;

  if (ChkOut.Checked = False) and (ChkIn.Checked = False) then
  begin
    ShowMessage('请选择进出口类型!');
    EdtM.SetFocus;
    exit;
  end;
  if trim(EdtM.Text) <> '' then
  begin
    if FrmMain.TestTextNumber(trim(EdtM.Text), 'real') then
    else
    begin
      ShowMessage('请输入数值类型的信息!');
      EdtM.SetFocus;
      exit;
    end;
  end;

  if trim(EdtN.Text) <> '' then
  begin

⌨️ 快捷键说明

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