📄 frm_allimportbilledit.~pas
字号:
unit Frm_AllImportBillEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Frm_Cargo, XPMenu, CoolCtrlsEx, ComCtrls, ExtCtrls, CoolCtrls,
StdCtrls, Buttons, Grids, DB, ADODB;
type
TFrmAllImportBillEdit = class(TFrmCargo)
page: TPageControl;
MAWB: TTabSheet;
ChkKey: TCheckBox;
GroupBox5: TGroupBox;
Label1: TLabel;
Label119: TLabel;
Label64: TLabel;
Label69: TLabel;
Label39: TLabel;
Label47: TLabel;
Label81: TLabel;
Label93: TLabel;
Label95: TLabel;
Label96: TLabel;
Label66: TLabel;
Label86: TLabel;
Label91: TLabel;
Label51: TLabel;
Label26: TLabel;
Label8: TLabel;
EdtFileNo: TEdit;
BitBtn14: TBitBtn;
ComCusCode: TComboBox;
ChkFinish: TCheckBox;
Inform: TMemo;
ExecDate: TDateTimePicker;
ComConsign: TComboBox;
EdtJianShu: TEdit;
ComBaoZ: TComboBox;
EdtMaoZ: TEdit;
EdtJFZL: TEdit;
EdtTiJi: TEdit;
EdtBy: TEdit;
EdtCusCodeName: TEdit;
EdtConsignName: TEdit;
Chkzhdan: TCheckBox;
EdtGoods: TEdit;
EdtRFileno: TEdit;
ComStation: TComboBox;
ComAgent: TComboBox;
SpeedButton1: TBitBtn;
ChkKeyDown: TCheckBox;
GroupBox1: TGroupBox;
Label17: TLabel;
Label35: TLabel;
Label54: TLabel;
Label55: TLabel;
Label56: TLabel;
Label57: TLabel;
Label61: TLabel;
Label62: TLabel;
Label63: TLabel;
Label106: TLabel;
Label109: TLabel;
Label18: TLabel;
Label27: TLabel;
Label53: TLabel;
Label108: TLabel;
Label24: TLabel;
Label23: TLabel;
Label20: TLabel;
Label19: TLabel;
Label21: TLabel;
Label34: TLabel;
Label28: TLabel;
Label31: TLabel;
Label65: TLabel;
Label73: TLabel;
Label44: TLabel;
Label45: TLabel;
Label71: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label33: TLabel;
Label50: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label22: TLabel;
Label72: TLabel;
Label25: TLabel;
Label7: TLabel;
Label122: TLabel;
SpeedButton5: TSpeedButton;
LVHW: TListView;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
cComCuscode: TComboBox;
cComLoad: TComboBox;
cComUnLoad: TComboBox;
cComShipCom: TComboBox;
cVoyageDate: TDateTimePicker;
cinform: TMemo;
cEdtFileno: TEdit;
cEdtBy: TEdit;
cEdtCHGS: TEdit;
cEdtPPD: TEdit;
cEdtCOLL: TEdit;
cEdtOPPD: TEdit;
cEdtOCOLL: TEdit;
cEdtDVC: TEdit;
cEdtDVC2: TEdit;
CEdtRFileNo: TEdit;
cTrusttype: TComboBox;
CEdtCurr: TComboBox;
CChkFinish: TCheckBox;
cExecDate: TDateTimePicker;
cBussiness: TComboBox;
cHi: TMemo;
cComConsign: TComboBox;
cComAgent: TComboBox;
CEdtCzr: TEdit;
CEdtNumber: TEdit;
CComKMDM: TComboBox;
CComCzType: TComboBox;
CEdtJianShu: TEdit;
CComBaoZ: TComboBox;
CEdtMaoZ: TEdit;
CEdtJfzl: TEdit;
CEdtTiJI: TEdit;
CcomTrustSource: TComboBox;
CEdtCuscodeName: TEdit;
CEdtConsignname: TEdit;
CEdtzcNumber: TEdit;
CComZcKmdm: TComboBox;
cEdtDest: TEdit;
CEdtGoods: TEdit;
BitBtn19: TBitBtn;
BitBtn9: TBitBtn;
cComPrice: TComboBox;
Cmemacc: TMemo;
SpeedButton2: TBitBtn;
ChkCommon: TRadioButton;
ChkDanger: TRadioButton;
CChkkeydown: TCheckBox;
cEdtModiOper: TEdit;
cEdtPlace: TComboBox;
CHARGE: TTabSheet;
GroupBox2: TGroupBox;
Label165: TLabel;
Label166: TLabel;
Label167: TLabel;
Label168: TLabel;
Label169: TLabel;
Label172: TLabel;
BitBtn18: TBitBtn;
BitBtn23: TBitBtn;
BitBtn24: TBitBtn;
EdtDoResult: TEdit;
DoDate: TDateTimePicker;
EdtDoTime: TEdit;
Memo4: TMemo;
EdtPreRemark: TEdit;
LVDDO: TListView;
Edit7: TEdit;
GroupFare: TGroupBox;
Label84: TLabel;
Label48: TLabel;
Label2: TLabel;
Label107: TLabel;
Label85: TLabel;
Label79: TLabel;
Label80: TLabel;
Label49: TLabel;
Label82: TLabel;
Label3: TLabel;
Label41: TLabel;
Label150: TLabel;
Label100: TLabel;
LBLMess: TLabel;
Label87: TLabel;
Label90: TLabel;
Label46: TLabel;
Label9: TLabel;
Label13: TLabel;
Label14: TLabel;
EdtMark: TEdit;
CombType: TComboBox;
CombName: TComboBox;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
EdtM: TEdit;
LVFare: TListView;
CombTO: TComboBox;
BitBtn4: TBitBtn;
BitBtn6: TBitBtn;
BitBtn11: TBitBtn;
ComCurrencyType: TComboBox;
EdtRate: TEdit;
HappenDate: TDateTimePicker;
EdtOperator: TEdit;
billno: TEdit;
ChkOther: TComboBox;
EdtInvoice: TEdit;
EdtBXH: TEdit;
MemCusCode: TEdit;
HappenDDate: TEdit;
BitBtn20: TBitBtn;
EdtDay: TEdit;
Edtunit: TMemo;
EdtFareModiOper: TEdit;
EdtUnitPrice: TEdit;
EdtShuLiang: TEdit;
QryTemp: TADOQuery;
Query1: TADOQuery;
procedure BitBtn14Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure BitBtn19Click(Sender: TObject);
procedure LVHWClick(Sender: TObject);
procedure LVHWColumnClick(Sender: TObject; Column: TListColumn);
procedure SpeedButton5Click(Sender: TObject);
procedure cComCuscodeExit(Sender: TObject);
procedure cComConsignExit(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn20Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure LVFareClick(Sender: TObject);
procedure LVFareColumnClick(Sender: TObject; Column: TListColumn);
procedure ChkOtherExit(Sender: TObject);
private
isclear: Boolean; {是否清空ComVoyage.text}
Cisclear: Boolean; {是否清空CComVoyage.text}
GoodsAdd: Boolean; {标记货物是增加还是编辑}
VarMain: string; {记录主单代码}
Varhawb: string; {记录分单代码}
CurrentFileCode: string; {记录费用当前编辑的记录的filecode号}
CurrentOperFileCode: string; {记录当前业务操作编辑记录的filecode号}
goodscode: string; {主单货物代码}
Cgoodscode: string; {分单货物代码}
procedure SaveifChecked; {主单完成以后,分单是否完成}
procedure SaveMainstat;
procedure SaveHawbstat;
procedure SaveMawbparpay;
procedure SaveHawbparpay;
function Havefendan: boolean;
function Calculate(Day, Weight: real; Formula: string): Real;
{ Private declarations }
public
IsEdit: Boolean; {主单编辑标记}
cIsEdit: Boolean; {分单编辑标记}
gIsEdit: Boolean; {主单货物的编辑标记}
gISChange: Boolean; {货物数据改变标记}
cgIsEdit: Boolean; {分单货物的编辑标记}
cgISChange: Boolean; {分单货物数据改变}
Alone: Boolean; {主单独出现标记}
ColLast: integer; {主单当前货物行}
RowLast: integer; {主单当前货物列}
cColLast: integer; {分单当前货物行}
cRowLast: integer; {分单当前货物列}
inserted: Boolean; //
cFIsEdit: Boolean; {判断费用的增加与编辑}
COIsEdit: Boolean; {判断业务操作的增加与编辑}
BeConfirm: string; {财务确认标记}
constructor CreateFromP(Edit: Boolean; Lone: Boolean; Code: string; Sender:
TComponent);
destructor Destroy; override;
procedure showChild(Code: string);
procedure ShowFare(Code: string);
procedure ShowHanding(Code: string);
function GetGrade(Carrier, LoadPort, UnloadPort, GradeStr: string): string;
{ Public declarations }
end;
var
FrmAllImportBillEdit: TFrmAllImportBillEdit;
implementation
uses Frm_Main, Frm_AllImportBillInfo, Frm_agreedocuedit, Frm_ciqdata;
{$R *.dfm}
function TFrmAllImportBillEdit.GetGrade(Carrier, LoadPort, UnloadPort,
GradeStr: string): string;
var
MessStr: string;
begin
Result := '';
Query1.close;
Query1.sql.text := 'select * from airbasequote where loadport=''' + loadport +
''' and unloadport like ''%' + unloadport + '%'' and pointshipcom=''' +
carrier + ''' ' +
' and inout=1 ';
Query1.open;
if query1.RecordCount = 0 then
begin
result := '没有发现与航空公司、装货港、卸货港相对应的该费用类别的信息';
exit;
end;
Messstr := '45KG:' + QryTemp.Fieldbyname('Quote45').asstring;
Messstr := Messstr + chr(13) + '100KG:' +
QryTemp.Fieldbyname('Quote100').asstring;
Messstr := Messstr + chr(13) + '300KG:' +
QryTemp.Fieldbyname('Quote300').asstring;
Messstr := Messstr + chr(13) + '500KG:' +
QryTemp.Fieldbyname('Quote500').asstring;
Messstr := Messstr + chr(13) + '1000KG:' +
QryTemp.Fieldbyname('Quote1000').asstring;
Messstr := Messstr + chr(13) + '1500KG:' +
QryTemp.Fieldbyname('Quote1500').asstring;
Messstr := Messstr + chr(13) + '2000KG:' +
QryTemp.Fieldbyname('Quote2000').asstring;
Messstr := Messstr + chr(13) + '2500KG:' +
QryTemp.Fieldbyname('Quote2500').asstring;
Messstr := Messstr + chr(13) + '3000KG:' +
QryTemp.Fieldbyname('Quote3000').asstring + chr(13);
Messstr := Messstr + chr(13) + 'S300KG:' +
QryTemp.Fieldbyname('QuoteS300').asstring;
Messstr := Messstr + chr(13) + 'S500KG:' +
QryTemp.Fieldbyname('QuoteS500').asstring;
Messstr := Messstr + chr(13) + 'S1000KG:' +
QryTemp.Fieldbyname('QuoteS1000').asstring;
Messstr := Messstr + chr(13) + 'S1500KG:' +
QryTemp.Fieldbyname('QuoteS1500').asstring + chr(13);
Messstr := Messstr + chr(13) + 'D500KG:' +
QryTemp.Fieldbyname('QuoteD500').asstring;
Messstr := Messstr + chr(13) + 'D1000KG:' +
QryTemp.Fieldbyname('QuoteD1000').asstring;
Messstr := Messstr + chr(13) + '其他:' +
QryTemp.Fieldbyname('QuoteQt').asstring;
result := messstr;
end;
function TFrmAllImportBillEdit.Calculate(Day, Weight: real; Formula: string):
Real;
var
VarArray: array[0..40] of string;
Pstr: char;
WordStr: string;
i: integer;
j: integer;
VarFormula: string;
FormulaChar: Pchar;
StrLen: Integer;
Data: real;
k: integer;
DataTemp: real;
begin
try
J := 0;
StrLen := Length(Formula);
Formulachar := pchar(formula);
VarFormula := '';
for i := 0 to Strlen - 1 do
begin
if FormulaChar[i] = ' ' then
Continue;
VarFormula := VarFormula + FormulaChar[i];
end;
StrLen := Length(varFormula);
Formulachar := pchar(VarFormula);
WordStr := '';
for i := 0 to Strlen - 1 do
begin
pstr := FormulaChar[i];
if Pos(Pstr, '+-*/') > 0 then
begin
VarArray[j] := WordStr;
WordStr := '';
j := j + 1;
VarArray[j] := pstr;
j := j + 1;
end
else
WordStr := WordStr + PStr;
end;
VarArray[j] := WordStr;
//Do Formula calculate
if uppercase(VarArray[0]) = uppercase('X') then
VarArray[0] := Floattostr(day);
if uppercase(VarArray[2]) = uppercase('X') then
VarArray[2] := floattostr(day);
if vararray[1] = '+' then
Data := StrToFloat(vararray[0]) + StrToFloat(vararray[2]);
if vararray[1] = '-' then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -