📄 frm_planequoteedit.pas
字号:
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 + -