{$INCLUDE t_main.inc} unit u_op_aire; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, bsSkinCtrls, ExtCtrls, DB, ADODB, dxExEdtr, dxCntner, dxTL, dxDBCtrl, dxDBGrid, dxDBTLCl, dxGrClms, RxLookup, StdCtrls, Mask, DBCtrls, ComCtrls, bsSkinTabs, wwdblook, wwdbedit, Wwdotdot, Wwdbcomb,IniFiles, wwdbdatetimepicker, u_fee, u_op_sate, Menus, XPMenu, u_op_letter_free, bsdbctrls, DBCtrlsEh, Grids, DBGrids, u_op_card,shellapi; type Tfrm_op_aire = class(TForm) Panel2: TPanel; bsSkinButton7: TbsSkinButton; bsSkinButton6: TbsSkinButton; bsSkinButton9: TbsSkinButton; bsSkinButton10: TbsSkinButton; bsSkinButton1: TbsSkinButton; bsSkinButton11: TbsSkinButton; bsSkinButton8: TbsSkinButton; bsSkinButton2: TbsSkinButton; bsSkinButton4: TbsSkinButton; bsSkinButton3: TbsSkinButton; bsSkinButton5: TbsSkinButton; Notebook1: TNotebook; t_op_aire: TADOQuery; t_op_aire1: TDataSource; dxDBGrid1: TdxDBGrid; dxDBGrid1Column1: TdxDBGridMaskColumn; dxDBGrid1Column2: TdxDBGridMaskColumn; dxDBGrid1Column3: TdxDBGridMaskColumn; dxDBGrid1Column4: TdxDBGridDateColumn; dxDBGrid1Column5: TdxDBGridMaskColumn; dxDBGrid1Column6: TdxDBGridMaskColumn; dxDBGrid1Column7: TdxDBGridMaskColumn; dxDBGrid1Column8: TdxDBGridMaskColumn; dxDBGrid1Column9: TdxDBGridMaskColumn; dxDBGrid1Column10: TdxDBGridMaskColumn; dxDBGrid1Column11: TdxDBGridMaskColumn; dxDBGrid1Column12: TdxDBGridMaskColumn; dxDBGrid1Column13: TdxDBGridMaskColumn; dxDBGrid1Column14: TdxDBGridDateColumn; dxDBGrid1Column15: TdxDBGridMaskColumn; dxDBGrid1Column16: TdxDBGridDateColumn; dxDBGrid1Column17: TdxDBGridMaskColumn; dxDBGrid1Column18: TdxDBGridMaskColumn; dxDBGrid1Column20: TdxDBGridMaskColumn; dxDBGrid1Column21: TdxDBGridMaskColumn; dxDBGrid1Column25: TdxDBGridMaskColumn; dxDBGrid1Column26: TdxDBGridMaskColumn; dxDBGrid1Column27: TdxDBGridMaskColumn; dxDBGrid1Column28: TdxDBGridMaskColumn; dxDBGrid1Column29: TdxDBGridMaskColumn; dxDBGrid1Column30: TdxDBGridDateColumn; dxDBGrid1Column31: TdxDBGridColumn; dxDBGrid1Column19: TdxDBGridColumn; dxDBGrid1Column23: TdxDBGridColumn; dxDBGrid1Column22: TdxDBGridColumn; dxDBGrid1Column24: TdxDBGridColumn; bsSkinPanel1: TbsSkinPanel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label37: TLabel; Label5: TLabel; Label38: TLabel; Label4: TLabel; Label36: TLabel; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit8: TDBEdit; DBEdit4: TDBEdit; RxDBLookupCombo1: TRxDBLookupCombo; DBEdit7: TDBEdit; t_ch_fee: TADOQuery; PopupMenu1: TPopupMenu; N31: TMenuItem; XPMenu1: TXPMenu; dxDBGrid1Column32: TdxDBGridColumn; Label65: TLabel; DBEdit18: TDBEdit; dxDBGrid1Column33: TdxDBGridColumn; bsSkinButton13: TbsSkinButton; PopupMenu2: TPopupMenu; N10: TMenuItem; N11: TMenuItem; N14: TMenuItem; N13: TMenuItem; N12: TMenuItem; N15: TMenuItem; N16: TMenuItem; PopupMenu3: TPopupMenu; N37: TMenuItem; N38: TMenuItem; N17: TMenuItem; N18: TMenuItem; N34: TMenuItem; N35: TMenuItem; N36: TMenuItem; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; N19: TMenuItem; N20: TMenuItem; N21: TMenuItem; N22: TMenuItem; N23: TMenuItem; N24: TMenuItem; dxDBGrid1Column34: TdxDBGridColumn; bsSkinPanel2: TbsSkinPanel; bsSkinDBText2: TbsSkinDBText; N25: TMenuItem; N26: TMenuItem; dxDBGrid1Column35: TdxDBGridColumn; t_op_aire_fen: TADOQuery; t_op_aire2: TDataSource; t_op_aire_fen1: TDataSource; PopupMenu4: TPopupMenu; N29: TMenuItem; N28: TMenuItem; N27: TMenuItem; N61: TMenuItem; N76: TMenuItem; N77: TMenuItem; N78: TMenuItem; N30: TMenuItem; N32: TMenuItem; N33: TMenuItem; N39: TMenuItem; N40: TMenuItem; N41: TMenuItem; N42: TMenuItem; N43: TMenuItem; N44: TMenuItem; N45: TMenuItem; N46: TMenuItem; RxDBLookupCombo12: TRxDBLookupCombo; Label19: TLabel; DBEdit9: TDBEditEh; bsSkinPanel9: TbsSkinPanel; Label116: TLabel; Label130: TLabel; Label131: TLabel; Label132: TLabel; Edit1: TEdit; Edit4: TEdit; Edit2: TEdit; Edit3: TEdit; bsSkinButton44: TbsSkinButton; N47: TMenuItem; N48: TMenuItem; N49: TMenuItem; N50: TMenuItem; N51: TMenuItem; N52: TMenuItem; bsSkinButton38: TbsSkinButton; t_op_seae_danwei: TADOQuery; t_op_seae_danwei1: TDataSource; t_code_trade: TADOQuery; t_code_trade1: TDataSource; bsSkinPanel10: TbsSkinPanel; lblhbl: TLabel; Label92: TLabel; DBEdit54: TDBEdit; bsSkinSpeedButton1: TbsSkinSpeedButton; bsSkinPanel4: TbsSkinPanel; lblwt: TLabel; bsSkinPanel12: TbsSkinPanel; lbldc: TLabel; N53: TMenuItem; EXCEL1: TMenuItem; N54: TMenuItem; N55: TMenuItem; PopupMenu5: TPopupMenu; N56: TMenuItem; N57: TMenuItem; N58: TMenuItem; t_ch_client1: TDataSource; t_ch_client: TADOQuery; dxDBGrid1Column36: TdxDBGridColumn; dxDBGrid1Column37: TdxDBGridColumn; dxDBGrid1Column38: TdxDBGridColumn; dxDBGrid1Column39: TdxDBGridCheckColumn; bsSkinButton45: TbsSkinButton; N59: TMenuItem; N60: TMenuItem; t_op_file: TADOQuery; dsrFuJian: TDataSource; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; procedure bsSkinButton7Click(Sender: TObject); procedure bsSkinButton6Click(Sender: TObject); procedure bsSkinButton2Click(Sender: TObject); procedure bsSkinButton4Click(Sender: TObject); procedure bsSkinButton3Click(Sender: TObject); procedure bsSkinButton5Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure bsSkinButton9Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure bsSkinButton11Click(Sender: TObject); procedure bsSkinButton8Click(Sender: TObject); procedure Panel2Resize(Sender: TObject); procedure bsSkinButton1Click(Sender: TObject); procedure t_op_aireBeforeDelete(DataSet: TDataSet); procedure t_op_aireBeforePost(DataSet: TDataSet); procedure bsSkinButton10Click(Sender: TObject); procedure dxDBGrid1Column3CustomDraw(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont; var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean); procedure dxDBGrid1Column2CustomDraw(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont; var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean); procedure DBEdit1KeyPress(Sender: TObject; var Key: Char); procedure DBEdit2KeyPress(Sender: TObject; var Key: Char); procedure DBEdit3KeyPress(Sender: TObject; var Key: Char); procedure DBEdit4KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo1KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo13KeyPress(Sender: TObject; var Key: Char); procedure DBEdit8KeyPress(Sender: TObject; var Key: Char); procedure DBEdit9KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo2KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo3KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo4KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo5KeyPress(Sender: TObject; var Key: Char); procedure DBEdit22KeyPress(Sender: TObject; var Key: Char); procedure DBEdit16KeyPress(Sender: TObject; var Key: Char); procedure wwDBDateTimePicker5KeyPress(Sender: TObject; var Key: Char); procedure DBEdit11KeyPress(Sender: TObject; var Key: Char); procedure wwDBDateTimePicker4KeyPress(Sender: TObject; var Key: Char); procedure DBEdit13KeyPress(Sender: TObject; var Key: Char); procedure wwDBDateTimePicker2KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo15KeyPress(Sender: TObject; var Key: Char); procedure wwDBComboBox7KeyPress(Sender: TObject; var Key: Char); procedure wwDBComboBox8KeyPress(Sender: TObject; var Key: Char); procedure wwDBComboBox9KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo11KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo8KeyPress(Sender: TObject; var Key: Char); procedure DBEdit14KeyPress(Sender: TObject; var Key: Char); procedure DBEdit15KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo6KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo7KeyPress(Sender: TObject; var Key: Char); procedure DBEdit72KeyPress(Sender: TObject; var Key: Char); procedure DBEdit73KeyPress(Sender: TObject; var Key: Char); procedure DBEdit74KeyPress(Sender: TObject; var Key: Char); procedure DBEdit75KeyPress(Sender: TObject; var Key: Char); procedure DBEdit76KeyPress(Sender: TObject; var Key: Char); procedure DBEdit77KeyPress(Sender: TObject; var Key: Char); procedure DBEdit17KeyPress(Sender: TObject; var Key: Char); procedure DBEdit30KeyPress(Sender: TObject; var Key: Char); procedure DBEdit31KeyPress(Sender: TObject; var Key: Char); procedure DBEdit56KeyPress(Sender: TObject; var Key: Char); procedure DBEdit57KeyPress(Sender: TObject; var Key: Char); procedure DBEdit63KeyPress(Sender: TObject; var Key: Char); procedure DBEdit70KeyPress(Sender: TObject; var Key: Char); procedure DBEdit71KeyPress(Sender: TObject; var Key: Char); procedure DBEdit18KeyPress(Sender: TObject; var Key: Char); procedure DBEdit2Change(Sender: TObject); procedure DBEdit3Change(Sender: TObject); procedure RxDBLookupCombo12KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo29KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo30KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo12Change(Sender: TObject); procedure RxDBLookupCombo8Change(Sender: TObject); procedure N10Click(Sender: TObject); procedure N14Click(Sender: TObject); procedure N12Click(Sender: TObject); procedure N16Click(Sender: TObject); procedure dxDBGrid1ColumnSorting(Sender: TObject; Column: TdxDBTreeListColumn; var Allow: Boolean); procedure bsSkinButton13Click(Sender: TObject); procedure N17Click(Sender: TObject); procedure N34Click(Sender: TObject); procedure N36Click(Sender: TObject); procedure N37Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure RxDBLookupCombo31KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo1KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo52KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo2KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo3KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo4KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo5KeyPress(Sender: TObject; var Key: Char); procedure wwDBDateTimePicker3KeyPress(Sender: TObject; var Key: Char); procedure wwDBDateTimePicker1KeyPress(Sender: TObject; var Key: Char); procedure N9Click(Sender: TObject); procedure N20Click(Sender: TObject); procedure t_op_aireBeforeEdit(DataSet: TDataSet); procedure t_op_airePostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); procedure t_op_aireBeforeCancel(DataSet: TDataSet); procedure N21Click(Sender: TObject); procedure N24Click(Sender: TObject); procedure dxDBGrid1Column34CustomDraw(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont; var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean); procedure wwDBComboBox3KeyPress(Sender: TObject; var Key: Char); procedure DBEdit5KeyPress(Sender: TObject; var Key: Char); procedure N26Click(Sender: TObject); procedure wwDBComboBox2Change(Sender: TObject); procedure dxDBGrid2DblClick(Sender: TObject); procedure bsSkinButton32Click(Sender: TObject); procedure bsSkinButton33Click(Sender: TObject); procedure N29Click(Sender: TObject); procedure bsSkinButton34Click(Sender: TObject); procedure N27Click(Sender: TObject); procedure N76Click(Sender: TObject); procedure N78Click(Sender: TObject); procedure bsSkinButton36Click(Sender: TObject); procedure N33Click(Sender: TObject); procedure N40Click(Sender: TObject); procedure N42Click(Sender: TObject); procedure N44Click(Sender: TObject); procedure t_op_aire_fenAfterInsert(DataSet: TDataSet); procedure t_op_aire_fenBeforeCancel(DataSet: TDataSet); procedure t_op_aire_fenBeforeDelete(DataSet: TDataSet); procedure t_op_aire_fenBeforeEdit(DataSet: TDataSet); procedure t_op_aire_fenBeforePost(DataSet: TDataSet); procedure t_op_aire_fenPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); procedure bsSkinPageControl1Change(Sender: TObject); procedure t_op_aire1DataChange(Sender: TObject; Field: TField); procedure RxDBLookupCombo16Change(Sender: TObject); procedure RxDBLookupCombo17Change(Sender: TObject); procedure RxDBLookupCombo18Change(Sender: TObject); procedure RxDBLookupCombo19Change(Sender: TObject); procedure wwDBLookupCombo6Change(Sender: TObject); procedure wwDBLookupCombo6Enter(Sender: TObject); procedure wwDBLookupCombo6Exit(Sender: TObject); procedure wwDBLookupCombo7Change(Sender: TObject); procedure wwDBLookupCombo7Enter(Sender: TObject); procedure wwDBLookupCombo7Exit(Sender: TObject); procedure wwDBLookupCombo8Change(Sender: TObject); procedure wwDBLookupCombo8Enter(Sender: TObject); procedure wwDBLookupCombo8Exit(Sender: TObject); procedure wwDBLookupCombo9Change(Sender: TObject); procedure wwDBLookupCombo9Enter(Sender: TObject); procedure wwDBLookupCombo9Exit(Sender: TObject); procedure RxDBLookupCombo2Change(Sender: TObject); procedure RxDBLookupCombo3Change(Sender: TObject); procedure RxDBLookupCombo4Change(Sender: TObject); procedure RxDBLookupCombo5Change(Sender: TObject); procedure wwDBLookupCombo10Change(Sender: TObject); procedure wwDBLookupCombo10Exit(Sender: TObject); procedure wwDBLookupCombo11Change(Sender: TObject); procedure wwDBLookupCombo11Exit(Sender: TObject); procedure wwDBLookupCombo12Change(Sender: TObject); procedure wwDBLookupCombo12Exit(Sender: TObject); procedure wwDBLookupCombo13Change(Sender: TObject); procedure wwDBLookupCombo13Exit(Sender: TObject); procedure N46Click(Sender: TObject); procedure RxDBLookupCombo9KeyPress(Sender: TObject; var Key: Char); procedure DBEditEh1KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo16Enter(Sender: TObject); procedure RxDBLookupCombo17Enter(Sender: TObject); procedure RxDBLookupCombo18Enter(Sender: TObject); procedure RxDBLookupCombo19Enter(Sender: TObject); procedure RxDBLookupCombo16Exit(Sender: TObject); procedure RxDBLookupCombo17Exit(Sender: TObject); procedure RxDBLookupCombo18Exit(Sender: TObject); procedure RxDBLookupCombo19Exit(Sender: TObject); procedure wwDBComboBox2KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo52Change(Sender: TObject); procedure bsSkinButton44Click(Sender: TObject); procedure N49Click(Sender: TObject); procedure N50Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure N52Click(Sender: TObject); procedure RxDBLookupCombo2Enter(Sender: TObject); procedure RxDBLookupCombo3Enter(Sender: TObject); procedure RxDBLookupCombo4Enter(Sender: TObject); procedure RxDBLookupCombo5Enter(Sender: TObject); procedure RxDBLookupCombo2Exit(Sender: TObject); procedure RxDBLookupCombo3Exit(Sender: TObject); procedure RxDBLookupCombo4Exit(Sender: TObject); procedure RxDBLookupCombo5Exit(Sender: TObject); procedure bsSkinButton38Click(Sender: TObject); procedure wwDBComboBox8Change(Sender: TObject); procedure DBEdit19KeyPress(Sender: TObject; var Key: Char); procedure DBEdit20KeyPress(Sender: TObject; var Key: Char); procedure DBEdit10KeyPress(Sender: TObject; var Key: Char); procedure DBEdit12KeyPress(Sender: TObject; var Key: Char); procedure DBEdit33KeyPress(Sender: TObject; var Key: Char); procedure wwDBDateTimePicker8KeyPress(Sender: TObject; var Key: Char); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure RxDBLookupCombo1Enter(Sender: TObject); procedure RxDBLookupCombo6Enter(Sender: TObject); procedure RxDBLookupCombo21Enter(Sender: TObject); procedure RxDBLookupCombo1Exit(Sender: TObject); procedure RxDBLookupCombo6Exit(Sender: TObject); procedure RxDBLookupCombo21Exit(Sender: TObject); procedure DBEdit36KeyPress(Sender: TObject; var Key: Char); procedure DBEdit37KeyPress(Sender: TObject; var Key: Char); procedure t_op_aireAfterOpen(DataSet: TDataSet); procedure RxDBLookupCombo11Change(Sender: TObject); procedure wwDBLookupCombo14Change(Sender: TObject); procedure DBEdit21KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo22KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo22Enter(Sender: TObject); procedure RxDBLookupCombo23Enter(Sender: TObject); procedure RxDBLookupCombo22Exit(Sender: TObject); procedure RxDBLookupCombo23Exit(Sender: TObject); procedure DBEdit38KeyPress(Sender: TObject; var Key: Char); procedure DBEdit39KeyPress(Sender: TObject; var Key: Char); procedure DBEdit44KeyPress(Sender: TObject; var Key: Char); procedure DBEdit45KeyPress(Sender: TObject; var Key: Char); procedure DBEdit50KeyPress(Sender: TObject; var Key: Char); procedure DBEdit51KeyPress(Sender: TObject; var Key: Char); procedure DBEdit40KeyPress(Sender: TObject; var Key: Char); procedure DBEdit41KeyPress(Sender: TObject; var Key: Char); procedure DBEdit46KeyPress(Sender: TObject; var Key: Char); procedure DBEdit47KeyPress(Sender: TObject; var Key: Char); procedure DBEdit52KeyPress(Sender: TObject; var Key: Char); procedure DBEdit53KeyPress(Sender: TObject; var Key: Char); procedure DBEdit42KeyPress(Sender: TObject; var Key: Char); procedure DBEdit43KeyPress(Sender: TObject; var Key: Char); procedure DBEdit48KeyPress(Sender: TObject; var Key: Char); procedure DBEdit49KeyPress(Sender: TObject; var Key: Char); procedure Notebook1PageChanged(Sender: TObject); procedure DBEdit7DblClick(Sender: TObject); procedure DBEdit7Exit(Sender: TObject); procedure wwDBLookupCombo15Change(Sender: TObject); procedure wwDBLookupCombo15KeyPress(Sender: TObject; var Key: Char); procedure DBEdit54KeyPress(Sender: TObject; var Key: Char); procedure DBEdit7KeyPress(Sender: TObject; var Key: Char); procedure bsSkinSpeedButton1Click(Sender: TObject); procedure DBEdit8DblClick(Sender: TObject); procedure DBEdit54DblClick(Sender: TObject); procedure DBEdit8Exit(Sender: TObject); procedure DBEdit54Exit(Sender: TObject); procedure bsSkinButton31Click(Sender: TObject); procedure wwDBComboBox1DropDown(Sender: TObject); procedure RxDBLookupCombo31Change(Sender: TObject); procedure wwDBComboBox1KeyPress(Sender: TObject; var Key: Char); procedure EXCEL1Click(Sender: TObject); procedure RxDBLookupCombo9Change(Sender: TObject); procedure N55Click(Sender: TObject); procedure N56Click(Sender: TObject); procedure N58Click(Sender: TObject); procedure t_op_aire_fenAfterPost(DataSet: TDataSet); procedure RxDBLookupCombo16KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo6KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo17KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo18KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo19KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo7KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo8KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo9KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo13KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo10KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo11KeyPress(Sender: TObject; var Key: Char); procedure wwDBLookupCombo12KeyPress(Sender: TObject; var Key: Char); procedure wwDBComboBox4KeyPress(Sender: TObject; var Key: Char); procedure bsSkinButton14Click(Sender: TObject); procedure bsSkinButton45Click(Sender: TObject); procedure N60Click(Sender: TObject); procedure bsSkinButton48Click(Sender: TObject); procedure bsSkinButton49Click(Sender: TObject); procedure bsSkinButton50Click(Sender: TObject); procedure bsSkinButton51Click(Sender: TObject); procedure t_op_fileBeforeEdit(DataSet: TDataSet); private procedure t_billfeecharge(Sender: TField); procedure t_billOTfeecharge(Sender: TField); procedure t_billfeettlcharge(Sender: TField); procedure t_billfeedecharge(Sender: TField); procedure t_billfeededcharge(Sender:TField); procedure setconcolor; { Private declarations } public airassup:boolean; airepsqlstr:widestring; procedure UpLoadPro(fname:string); //fname包含完整路径、文件名 procedure DownLoadPro(fname:string); //从数据库的表中下载 { Public declarations } end; var frm_op_aire: Tfrm_op_aire; frm_op_aire_create:boolean; implementation uses u_main, my_sys_function, u_op_aire_add, u_data_share, u_sys_progress, u_ch_piliang_aire, u_op_date_change, u_op_add_aire, u_op_aire_assistant, {$IFDEF DLFENZHANG}u_op_seae_fenzhang,{$ENDIF} u_sys_tab_sort, u_op_seae_excel, u_ch_fee_zhupiao; {$R *.dfm} procedure Tfrm_op_aire.bsSkinButton7Click(Sender: TObject); begin if t_op_aire1.DataSet=nil then exit; if not t_op_aire1.DataSet.Bof then t_op_aire1.DataSet.Prior; end; procedure Tfrm_op_aire.bsSkinButton6Click(Sender: TObject); begin if t_op_aire1.DataSet=nil then exit; if not t_op_aire1.DataSet.eof then t_op_aire1.DataSet.next; end; procedure Tfrm_op_aire.bsSkinButton2Click(Sender: TObject); begin if t_op_aire1.DataSet=nil then exit; if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit) then t_op_aire1.DataSet.post; end; procedure Tfrm_op_aire.bsSkinButton4Click(Sender: TObject); begin if t_op_aire1.DataSet=nil then exit; if t_op_aire1.DataSet.IsEmpty then exit; t_ch_fee.close; t_ch_fee.Parameters[0].value:=t_op_aire1.DataSet.fieldbyname('编号').asstring; t_ch_fee.open; if not t_ch_fee.IsEmpty then begin showmessage('对不起业务存在费用信息,不能删除!!'); exit; end; if t_op_aire1.DataSet.FieldByName('装运方式').asstring='空运主票'then begin if not t_op_aire_fen.IsEmpty then begin showmessage('对不起主票存在分票信息,不能删除!!'); exit; end; end; if application.MessageBox('您确定要删除数据吗?','警告:',MB_OKCANCEL)=IDOK then t_op_aire1.DataSet.delete; end; procedure Tfrm_op_aire.bsSkinButton3Click(Sender: TObject); begin if t_op_aire1.DataSet=nil then exit; if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit) then t_op_aire1.DataSet.cancel; end; procedure Tfrm_op_aire.bsSkinButton5Click(Sender: TObject); begin close; end; procedure Tfrm_op_aire.FormClose(Sender: TObject; var Action: TCloseAction); begin savereggrid(dxdbgrid1,caption); savereggrid(dxdbgrid2,caption+'2'); savewwgrid(fra_fee1.wwDBGrid1,'空运出口应收'); savewwgrid(fra_fee1.wwDBGrid2,'空运出口应付'); {$IFDEF DLFENGZHANG} if assigned(frm_op_seae_fenzhang) then begin FreeAndNil(frm_op_seae_fenzhang); end; {$ENDIF} if assigned(frm_op_aire_assistant) then frm_op_aire_assistant.close; frm_op_aire.Hide; frm_op_aire.ManualFloat(frm_op_aire.BoundsRect ); frm_main.freeTabs('frm_op_aire'); frm_op_aire_create:=false; action:=cafree; frm_op_aire:=nil; end; procedure Tfrm_op_aire.bsSkinButton9Click(Sender: TObject); begin sys_print('空运出口单证',2,t_op_aire1,nil,nil,nil,t_op_aire_fen1,nil,nil,nil,nil,nil,nil); end; procedure Tfrm_op_aire.FormShow(Sender: TObject); var inifile1,seabandini:Tinifile; i,j,n:integer; sl:TStrings; begin if not ASSIGNED(frm_sys_progress) then frm_sys_progress:=tfrm_sys_progress.Create(self); frm_sys_progress.bsSkinGauge1.ProgressText:='加载数据请等候。。。'; frm_sys_progress.Show; frm_sys_progress.bsSkinGauge1.MaxValue:=20; frm_sys_progress.bsSkinGauge1.MinValue:=0; frm_sys_progress.bsSkinGauge1.Value:=0; frm_sys_progress.Update; if Trim(frm_data_share.t_sys_noset.fieldbyname('出号规则').Asstring)='自动取号' then begin DBEdit8.Width:=110; bsSkinSpeedButton1.Visible:=false; if frm_data_share.t_sys_noset.fieldbyname('是否允许手动编辑').AsBoolean then begin DBEdit8.ReadOnly:=false; end else begin DBEdit8.ReadOnly:=true; end; end else if Trim(frm_data_share.t_sys_noset.fieldbyname('出号规则').Asstring)='手动取号' then begin DBEdit8.Width:=90; bsSkinSpeedButton1.Visible:=true; if frm_data_share.t_sys_noset.fieldbyname('是否允许手动编辑').AsBoolean then begin DBEdit8.ReadOnly:=false; end else begin DBEdit8.ReadOnly:=true; end; end else if Trim(frm_data_share.t_sys_noset.fieldbyname('出号规则').Asstring)='手动编辑' then begin DBEdit8.ReadOnly:=false; DBEdit8.Width:=110; bsSkinSpeedButton1.Visible:=false; end; t_op_aire_fen.Close; t_op_aire.Close; t_op_aire.SQL.clear; if strtobool(get_parameters_value(132,'true')) then begin // t_op_aire.SQL.Add('select top 50 * from t_op_aire where 主编号=编号 and 装运方式<>''报关'' and ' t_op_aire.SQL.Add('select top 50 * from t_op_aire where 主编号=编号 and ' +'(录入人='+''''+employee+'''' +' or 操作员='+''''+employee+'''' +' or 客服员='+''''+employee+''''+')' +default_sort(55,'t_op_aire','','desc')); end else begin // t_op_aire.SQL.Add('select * from t_op_aire where 主编号=编号 and 装运方式<>''报关'' and ' t_op_aire.SQL.Add('select * from t_op_aire where 主编号=编号 and ' +' SUBSTRING(CONVERT(char(15),一程开航日期,111),1,7)='''+FormatDateTime('YYYY',Date)+'/'+FormatDateTime('MM',Date)+''' and ' +open_data('0003','录入人','操作员','客服员','no','no') +default_sort(55,'t_op_aire','','desc')); end; t_op_aire.open; t_op_aire_fen.Open; airepsqlstr:=''; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; fra_op_letter_free1.op_type.Text:='空运出口'; fra_op_letter_free1.t_op_letter.DataSource:=t_op_aire1; fra_op_letter_free1.t_op_letter.open; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; fra_op_letter_free1.t_op_letter_free_detail.open; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; loadreggrid(dxdbgrid1,false,caption); loadreggrid(dxdbgrid2,false,caption+'2'); frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; if if_open('297') or if_open('298') then begin fra_fee1.edit_type.text:='3'; fra_fee1.edit_data.text:='0003'; fra_fee1.edit_report.text:='空运出口'; fra_fee1.t_ch_accept.DataSource:=t_op_aire1; if strtobool(get_parameters_value(150,'false')) then fra_fee1.bsSkinPanel3.Visible:=true; fra_fee1.DBEdit48.DataSource:=t_op_aire1; if if_open('297') then begin fra_fee1.t_ch_accept.DataSource:=t_op_aire1; if (strtobool(get_parameters_value(153,'false'))=true) then begin if (strtobool(get_parameters_value(64,'false'))=true) and (if_open('208')=false) then begin fra_fee1.t_ch_accept.close; fra_fee1.t_ch_accept.SQL.Clear; fra_fee1.t_ch_accept.SQL.Add('select * from t_ch_fee where 类型=' +''''+'收'+''''+' and 编号=:编号 and (录入人=' +''''+employee+''''+' or (录入人<>'+''''+employee+'''' +' and 机密<>1) ) and '+open_data('7000','录入人','no','no','no','no') +' order by 顺序,CH_ID'); end else begin fra_fee1.t_ch_accept.close; fra_fee1.t_ch_accept.SQL.Clear; fra_fee1.t_ch_accept.SQL.Add('select * from t_ch_fee where 类型=' +''''+'收'+''''+' and 编号=:编号 and ' +open_data('7000','录入人','no','no','no','no') +' order by 顺序,CH_ID'); end; fra_fee1.t_ch_accept.open; end else begin if (strtobool(get_parameters_value(64,'false'))=true) and (if_open('208')=false) then begin fra_fee1.t_ch_accept.close; fra_fee1.t_ch_accept.SQL.Clear; fra_fee1.t_ch_accept.SQL.Add('select * from t_ch_fee where 类型=' +''''+'收'+''''+' and 编号=:编号 and (录入人=' +''''+employee+''''+' or (录入人<>'+''''+employee+'''' +' and 机密<>1) ) order by 顺序,CH_ID'); end; fra_fee1.t_ch_accept.open; end; fra_fee1.a_shen_delete.open; fra_fee1.a_shen_modify_old.open; fra_fee1.a_shen_modify_new.open; fra_fee1.Panel3.visible:=true; end else fra_fee1.Panel3.visible:=false; if if_open('298') then begin fra_fee1.t_ch_pay.DataSource:=t_op_aire1; if (strtobool(get_parameters_value(153,'false'))=true) then begin if (strtobool(get_parameters_value(64,'false'))=true) and (if_open('208')=false) then begin fra_fee1.t_ch_pay.close; fra_fee1.t_ch_pay.SQL.Clear; fra_fee1.t_ch_pay.SQL.Add('select * from t_ch_fee where 类型=' +''''+'付'+''''+' and 编号=:编号 and (录入人=' +''''+employee+''''+' or (录入人<>'+''''+employee+'''' +' and 机密<>1) ) and '+open_data('7000','录入人','no','no','no','no') +' order by 顺序,CH_ID'); end else begin fra_fee1.t_ch_pay.close; fra_fee1.t_ch_pay.SQL.Clear; fra_fee1.t_ch_pay.SQL.Add('select * from t_ch_fee where 类型=' +''''+'付'+''''+' and 编号=:编号 and ' +open_data('7000','录入人','no','no','no','no') +' order by 顺序,CH_ID'); end; fra_fee1.t_ch_pay.open; end else begin if (strtobool(get_parameters_value(64,'false'))=true) and (if_open('208')=false) then begin fra_fee1.t_ch_pay.close; fra_fee1.t_ch_pay.SQL.Clear; fra_fee1.t_ch_pay.SQL.Add('select * from t_ch_fee where 类型=' +''''+'付'+''''+' and 编号=:编号 and (录入人=' +''''+employee+''''+' or (录入人<>'+''''+employee+'''' +' and 机密<>1) ) order by 顺序,CH_ID'); end; fra_fee1.t_ch_pay.open; end; fra_fee1.p_shen_delete.open; fra_fee1.p_shen_modify_old.open; fra_fee1.p_shen_modify_new.open; fra_fee1.Panel1.visible:=true; end else fra_fee1.Panel1.visible:=false; if fra_fee1.Panel1.visible and fra_fee1.Panel3.visible then begin if if_open('228') then begin fra_fee1.Panel8.Visible:=true; fra_fee1.Panel8.Height:=20; end else fra_fee1.Panel8.Visible:=false; fra_fee1.t_op_gain.DataSource:=t_op_aire1; fra_fee1.t_op_gain.open; fra_fee1.Panel9.Visible:=false; end else begin fra_fee1.Panel8.Visible:=false; end; end else begin fra_fee1.Visible:=false; end; loadwwgrid(fra_fee1.wwDBGrid1,'空运出口应收'); loadwwgrid(fra_fee1.wwDBGrid2,'空运出口应付'); frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; if if_reg(195) then begin fra_op_state1.edit_state.text:='3'; fra_op_state1.t_op_state.DataSource:=t_op_aire1; fra_op_state1.t_op_state.open; end; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; fra_op_card1.t_op_card.DataSource:=t_op_aire1; fra_op_card1.t_op_card.open; t_op_seae_danwei.Open; frm_data_share.t_crm_client.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_crm_client_hangkong.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_crm_client_baoguan.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_crm_client_weituo.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_crm_client_daili.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_crm_client_shiper.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_crm_client_shouhuo.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_crm_client_tongzhi.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_code_source.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_sys_employee.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_code_code.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_code_fee.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_code_currency.requery; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_data_share.t_code_port_air.requery; t_code_trade.Open; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_op_aire_create:=true; bsSkinTabSheet2.TabVisible:=if_open('297') or if_open('298'); inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini'); bsSkinPanel9.Visible:=inifile1.Readbool('other','aedisp',false); if bsSkinPanel9.Visible then begin bsSkinPanel9.Visible:=true; bsSkinButton13.Top:=3+bsSkinPanel9.Height; end; inifile1.free; seabandini:=Tinifile.Create(ExtractFilePath(application.ExeName)+'bandno.ini'); sl:=TStringList.Create; try seabandini.ReadSection('airexp',sl); for j:=0 to sl.Count-1 do begin n:=seabandini.Readinteger('airexp',sl[j],0); for i:=0 to bsSkinPageControl1.PageCount-1 do begin if bsSkinPageControl1.Pages[i].Name=sl[j] then begin bsSkinPageControl1.Pages[i].PageIndex:=n; end; end; end; finally freeandnil(seabandini); freeandnil(sl); end; {$IFDEF DLFENZHANG} if not if_reg(194) then begin bsSkinTabSheet6.TabVisible:=false; end; {$ELSE} bsSkinTabSheet6.TabVisible:=false; {$ENDIF} {$IFDEF ZTGENGZONG} if not if_reg(195) then begin bsSkinTabSheet3.TabVisible:=false; end; {$ELSE} bsSkinTabSheet3.TabVisible:=false; {$ENDIF} if if_open('304') then begin bsSkinTabSheet6.TabVisible:=true; end else begin bsSkinTabSheet6.TabVisible:=false; end; if strtobool(get_parameters_value(143,'false')) then begin N54.Visible:=true; N55.Visible:=true; end else begin N54.Visible:=FALSE; N55.Visible:=FALSE; end; airassup:=false; frm_sys_progress.close; frm_sys_progress:=nil; end; procedure Tfrm_op_aire.bsSkinButton11Click(Sender: TObject); var answer:TModalResult; begin if bsSkinButton11.Caption='编辑修改' then begin Notebook1.PageIndex:=1; bsSkinButton11.Caption:='返回列表'; wwDBComboBox2.OnChange(nil); Exit; end; if bsSkinButton11.Caption='返回列表' then begin if (t_op_aire.State=dsinsert)or(t_op_aire.State=dsedit) then BEGIN answer:=messagedlg( '数据已经修改,是否保存?',mtWarning,mbYesNoCancel,0); if answer=mrYes then begin t_op_aire.post; end; if answer=mrNo then begin t_op_aire.cancel; end; if answer=mrCancel then begin exit; end; END; Notebook1.PageIndex:=0; bsSkinButton11.Caption:='编辑修改'; end; if bsSkinButton11.Caption='返回主票' then begin if (t_op_aire_fen.State=dsinsert)or(t_op_aire_fen.State=dsedit) then BEGIN answer:=messagedlg( '数据已经修改,是否保存?',mtWarning,mbYesNoCancel,0); if answer=mrYes then begin t_op_aire_fen.post; end; if answer=mrNo then begin t_op_aire_fen.cancel; end; if answer=mrCancel then begin exit; end; END; bsSkinButton11.Caption:='返回列表'; try t_op_aire1.Enabled:=false; t_op_aire1.DataSet:=t_op_aire; finally t_op_aire1.Enabled:=true; end; Notebook1.PageIndex:=1; exit; end; end; procedure Tfrm_op_aire.bsSkinButton8Click(Sender: TObject); var Pnt:Tpoint; begin Pnt:=bsSkinButton8.ClientToScreen(Point(0,bsSkinButton8.Height)); PopupMenu1.Popup(Pnt.x,Pnt.y); end; procedure Tfrm_op_aire.Panel2Resize(Sender: TObject); var i:integer; begin i:=round(Panel2.Width/12); bsSkinButton7.Width:=i; bsSkinButton6.Width:=i; bsSkinButton9.Width:=i; bsSkinButton10.Width:=i; bsSkinButton1.Width:=i; bsSkinButton11.Width:=i; bsSkinButton8.Width:=i; bsSkinButton2.Width:=i; bsSkinButton4.Width:=i; bsSkinButton3.Width:=i; bsSkinButton38.Width:=i; bsSkinButton13.Left:=Panel2.Width-bsSkinButton13.Width-20; end; procedure Tfrm_op_aire.bsSkinButton1Click(Sender: TObject); begin if t_op_aire1.DataSet=nil then exit; if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit) then t_op_aire1.DataSet.post; try frm_op_aire_add:=tfrm_op_aire_add.Create (self); if t_op_aire1.DataSet=t_op_aire then begin frm_op_aire_add.data1.Enabled:=false; frm_op_aire_add.data1.DataSet:=t_op_aire; frm_op_aire_add.data1.Enabled:=true; frm_op_aire_add_num:=1; end else begin frm_op_aire_add.data1.Enabled:=false; frm_op_aire_add.data1.DataSet:=t_op_aire_fen; frm_op_aire_add.data1.Enabled:=true; frm_op_aire_add.bsSkinCheckRadioBox3.Checked:=true; frm_op_aire_add.bsSkinCheckRadioBox2.Enabled:=false; frm_op_aire_add.bsSkinCheckRadioBox4.Enabled:=true; frm_op_aire_add_num:=2; end; if frm_op_aire_add.ShowModal<>mrCancel then begin if not frm_op_aire.bsSkinTabSheet1.Showing then frm_op_aire.bsSkinTabSheet1.Show; end; finally frm_op_aire_add.Free; end; end; procedure Tfrm_op_aire.t_op_aireBeforeDelete(DataSet: TDataSet); begin op_befor_post(t_op_aire,'0003'); delete_add(3,t_op_aire); if not t_op_aire.FieldByName('委托编号').IsNull then delwtno(t_op_aire['委托编号']); end; procedure Tfrm_op_aire.t_op_aireBeforePost(DataSet: TDataSet); var aQuery:TAdoQuery; begin table_before_post(t_op_aire,'委托单位'); table_before_post(t_op_aire,'操作员'); table_before_post(t_op_aire,'客服员'); table_before_post(t_op_aire,'一程开航日期'); table_before_post(t_op_aire,'一程航班'); table_before_post(t_op_aire,'始发港'); table_before_post(t_op_aire,'目的港'); table_before_post(t_op_aire,'业务来源'); if pos('指定',t_op_aire.FieldByName('业务来源').AsString)>0 then begin end else begin table_before_post(t_op_aire,'揽货人'); table_before_post(t_op_aire,'销售部门'); end; table_before_post(t_op_aire,'操作部门'); if Trim(frm_data_share.t_sys_noset.fieldbyname('出号规则').Asstring)='自动取号' then if t_op_aire.FieldByName('委托编号').IsNull or (trim(t_op_aire['委托编号'])='') then if Trim(frm_data_share.t_sys_noset.fieldbyname('日期规则').Asstring)='会计期间' then t_op_aire['委托编号']:=getwtno(3,subComp,department,employee,t_op_aire['会计期间']) else t_op_aire['委托编号']:=getwtno(3,subComp,department,employee,t_op_aire['一程开航日期']); op_empty('t_op_aire',t_op_aire); if t_op_aire.fieldbyname('一程开航日期').oldvalue<>t_op_aire.fieldbyname('一程开航日期').asdatetime then if (t_op_aire.fieldbyname('业务类型').asstring<>'更改单') and (Logininfo.endday>=t_op_aire.fieldbyname('一程开航日期').asdatetime) then begin showmessage('此开航日期所在期间已月末结账,不能添加修改业务!!'); abort; end; if t_op_aire.FieldByName('委托单位').OldValue<>t_op_aire.FieldByName('委托单位').asstring then begin if frm_data_share.t_crm_client_all.Locate('客户简称',t_op_aire.FieldByName('委托单位').asstring,[])then begin if frm_data_share.t_crm_client_all.fieldbyname('客户状态').asstring='封存客户'then begin showmessage('当前业务委托单位已经封存,不能再进行业务合作,如需合作请进行恢复客户操作!'); abort; end; end; end; if t_op_aire.State=dsinsert then begin if t_op_aire.fieldbyname('业务编号').asstring=''then begin t_op_aire['业务编号']:=get_no(t_op_aire.fieldbyname('会计期间').AsDateTime,getbsno(Logininfo.AirExpBsNo,'AE')); t_op_aire['编号']:=get_id; end; t_op_aire['主编号']:=t_op_aire['编号']; t_op_aire['业务状态']:='接受委托'; t_op_aire['费用状态']:='录入状态'; end; t_op_aire['英文航期']:=date_eng(t_op_aire.fieldbyname('一程开航日期').AsDateTime); if strtobool(get_parameters_value(40,'false')) then begin if (trim(t_op_aire.fieldbyname('主运单号').asstring)='') or (t_op_aire.fieldbyname('装运方式').asstring='空运主票') or (t_op_aire.fieldbyname('业务类型').asstring='更改单') then begin t_op_aire['主提单标准']:=t_op_aire['编号']; end else begin t_op_aire['主提单标准']:=Logininfo.subcompcode+t_op_aire['主运单号']; end; end else begin t_op_aire['主提单标准']:=t_op_aire['编号']; end; if strtobool(get_parameters_value(41,'false')) then begin if (trim(t_op_aire.fieldbyname('分运单号').asstring)='') or (t_op_aire.fieldbyname('业务类型').asstring='更改单') then begin t_op_aire['分提单标准']:=t_op_aire['编号']; end else begin t_op_aire['分提单标准']:=Logininfo.subcompcode+t_op_aire['分运单号']; end; end else begin t_op_aire['分提单标准']:=t_op_aire['编号']; end; if strtobool(get_parameters_value(42,'false')) then begin if (trim(t_op_aire.fieldbyname('委托编号').asstring)='') or (t_op_aire.fieldbyname('装运方式').asstring='空运主票') or (t_op_aire.fieldbyname('业务类型').asstring='更改单') then begin t_op_aire['委托标准']:=t_op_aire['编号']; end else begin t_op_aire['委托标准']:=t_op_aire['委托编号']; end; end else begin t_op_aire['委托标准']:=t_op_aire['编号']; end; try if (not airassup) and (t_op_aire.State in [dsedit]) then if (t_op_aire.FieldByName('件数').Value<>t_op_aire.FieldByName('件数').oldValue) or (t_op_aire.FieldByName('单位').Value<>t_op_aire.FieldByName('单位').oldValue) or (VarToStr(t_op_aire.FieldByName('重量').Value)<>VarToStr(t_op_aire.FieldByName('重量').oldValue)) or (VarToStr(t_op_aire.FieldByName('尺码').Value)<>VarToStr(t_op_aire.FieldByName('尺码').oldValue)) then begin aQuery:=CreateAdoQuery; try with aQuery do begin close;sql.clear; sql.Add('select count(编号) as count from t_op_aire_assistant where 编号='''+t_op_aire['编号']+''''); open; if fieldbyname('count').AsInteger>0 then begin if MessageDlg('件、重、尺已发生改变,是否更新货代提单?',mtWarning,[mbYes,mbNo],0)=mrYes then begin close;sql.clear; sql.Add('update t_op_aire_assistant set 件数='+t_op_aire.FieldByName('件数').asstring+','); sql.Add('单位='''+t_op_aire.FieldByName('单位').asstring+''',尺码='+t_op_aire.FieldByName('尺码').asstring+','); sql.Add('重量='+t_op_aire.FieldByName('重量').asstring); sql.Add('where 编号='''+t_op_aire['编号']+''''); ExecSQL; end; end; end; finally FreeAndNil(aQuery); end; end; except end; t_op_aire['Upload']:=1; end; procedure Tfrm_op_aire.bsSkinButton10Click(Sender: TObject); begin query_aire(1,'0003'); end; procedure Tfrm_op_aire.dxDBGrid1Column3CustomDraw(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont; var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean); begin AColor:=dxgrid_color_fee(ANode.strings[dxDBGrid1Column3.Index]); AFont.Color:=clblack; end; procedure Tfrm_op_aire.dxDBGrid1Column2CustomDraw(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont; var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean); begin AColor:=dxgrid_color('空运出口',ANode.Strings[dxDBGrid1Column2.Index]); AFont.Color:=clblack; end; procedure Tfrm_op_aire.DBEdit1KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit2); end; procedure Tfrm_op_aire.DBEdit2KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit3); end; procedure Tfrm_op_aire.DBEdit3KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit4); end; procedure Tfrm_op_aire.DBEdit4KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit18); end; procedure Tfrm_op_aire.RxDBLookupCombo1KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo12); end; procedure Tfrm_op_aire.RxDBLookupCombo13KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit8); end; procedure Tfrm_op_aire.DBEdit8KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin key:=#0; DBEdit9.SetFocus; end; end; procedure Tfrm_op_aire.DBEdit9KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit7); end; procedure Tfrm_op_aire.RxDBLookupCombo2KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo10); end; procedure Tfrm_op_aire.RxDBLookupCombo3KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo11); end; procedure Tfrm_op_aire.RxDBLookupCombo4KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo12); end; procedure Tfrm_op_aire.RxDBLookupCombo5KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo13); end; procedure Tfrm_op_aire.DBEdit22KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo9); end; procedure Tfrm_op_aire.DBEdit16KeyPress(Sender: TObject; var Key: Char); begin key_wwDBDateTimePicker(Key,wwDBDateTimePicker5); end; procedure Tfrm_op_aire.wwDBDateTimePicker5KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo4); end; procedure Tfrm_op_aire.DBEdit11KeyPress(Sender: TObject; var Key: Char); begin key_wwDBDateTimePicker(Key,wwDBDateTimePicker4); end; procedure Tfrm_op_aire.wwDBDateTimePicker4KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo5); end; procedure Tfrm_op_aire.DBEdit13KeyPress(Sender: TObject; var Key: Char); begin key_wwDBDateTimePicker(Key,wwDBDateTimePicker2); end; procedure Tfrm_op_aire.wwDBDateTimePicker2KeyPress(Sender: TObject; var Key: Char); begin key_wwDBComboBox(Key,wwDBComboBox2); end; procedure Tfrm_op_aire.RxDBLookupCombo15KeyPress(Sender: TObject; var Key: Char); begin key_wwDBComboBox(Key,wwDBComboBox2); end; procedure Tfrm_op_aire.wwDBComboBox7KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit14); end; procedure Tfrm_op_aire.wwDBComboBox8KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit33); end; procedure Tfrm_op_aire.wwDBComboBox9KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit17); end; procedure Tfrm_op_aire.RxDBLookupCombo11KeyPress(Sender: TObject; var Key: Char); begin key_DBMemo(Key,DBMemo18); end; procedure Tfrm_op_aire.RxDBLookupCombo8KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo29); end; procedure Tfrm_op_aire.DBEdit14KeyPress(Sender: TObject; var Key: Char); begin key_wwDBComboBox(Key,wwDBComboBox8); end; procedure Tfrm_op_aire.DBEdit15KeyPress(Sender: TObject; var Key: Char); begin key_wwDBComboBox(Key,wwDBComboBox9); end; procedure Tfrm_op_aire.RxDBLookupCombo6KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo7); end; procedure Tfrm_op_aire.RxDBLookupCombo7KeyPress(Sender: TObject; var Key: Char); begin key_wwDBComboBox(Key,wwDBComboBox3); end; procedure Tfrm_op_aire.DBEdit72KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit75); end; procedure Tfrm_op_aire.DBEdit73KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit76); end; procedure Tfrm_op_aire.DBEdit74KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit77); end; procedure Tfrm_op_aire.DBEdit75KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit73); end; procedure Tfrm_op_aire.DBEdit76KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit74); end; procedure Tfrm_op_aire.DBEdit77KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit13); end; procedure Tfrm_op_aire.DBEdit17KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit30); end; procedure Tfrm_op_aire.DBEdit30KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit31); end; procedure Tfrm_op_aire.DBEdit31KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit56); end; procedure Tfrm_op_aire.DBEdit56KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit5); end; procedure Tfrm_op_aire.DBEdit57KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit63); end; procedure Tfrm_op_aire.DBEdit63KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit70); end; procedure Tfrm_op_aire.DBEdit70KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit71); end; procedure Tfrm_op_aire.DBEdit71KeyPress(Sender: TObject; var Key: Char); begin key_DBMemo(Key,DBMemo17); end; procedure Tfrm_op_aire.DBEdit18KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo1); end; procedure Tfrm_op_aire.DBEdit2Change(Sender: TObject); begin DBEdit2.Color:=dxgrid_color('空运出口',DBEdit2.text); end; procedure Tfrm_op_aire.DBEdit3Change(Sender: TObject); begin DBEdit3.Color:=dxgrid_color_fee(DBEdit3.text); end; procedure Tfrm_op_aire.RxDBLookupCombo12KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin key:=#0; DBEdit8.SetFocus; end; end; procedure Tfrm_op_aire.RxDBLookupCombo29KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo30); end; procedure Tfrm_op_aire.RxDBLookupCombo30KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo6); end; procedure Tfrm_op_aire.RxDBLookupCombo12Change(Sender: TObject); begin if (t_op_aire.state=dsinsert)or(t_op_aire.state=dsedit)then begin if RxDBLookupCombo12.DisplayValue='' then exit; if frm_data_share.t_sys_employee.locate('姓名',RxDBLookupCombo12.DisplayValue,[]) then t_op_aire['销售部门']:=frm_data_share.t_sys_employee['部门名称']; end; end; procedure Tfrm_op_aire.RxDBLookupCombo8Change(Sender: TObject); begin if (t_op_aire.state=dsinsert)or(t_op_aire.state=dsedit)then begin if RxDBLookupCombo8.DisplayValue='' then exit; if frm_data_share.t_sys_employee.locate('姓名',RxDBLookupCombo8.DisplayValue,[]) then t_op_aire['操作部门']:=frm_data_share.t_sys_employee['部门名称']; end; end; procedure Tfrm_op_aire.N10Click(Sender: TObject); begin update_grid_view_no(dxdbgrid1); end; procedure Tfrm_op_aire.N14Click(Sender: TObject); begin update_grid_view_all(dxdbgrid1); end; procedure Tfrm_op_aire.N12Click(Sender: TObject); begin update_grid(dxdbgrid1,55); end; procedure Tfrm_op_aire.N16Click(Sender: TObject); begin grid_save_xls(dxdbgrid1); end; procedure Tfrm_op_aire.dxDBGrid1ColumnSorting(Sender: TObject; Column: TdxDBTreeListColumn; var Allow: Boolean); begin Column_sort(Column,t_op_aire,'业务编号'); end; procedure Tfrm_op_aire.bsSkinButton13Click(Sender: TObject); var Pnt:Tpoint; begin Pnt:=bsSkinButton13.ClientToScreen(Point(0,bsSkinButton13.Height)); PopupMenu3.Popup(Pnt.x,Pnt.y); end; procedure Tfrm_op_aire.N17Click(Sender: TObject); begin if (not t_op_aire.IsEmpty) and (t_op_aire.sql.Text<>'') then airepsqlstr:=t_op_aire.sql.Text; t_op_aire.Close; t_op_aire.SQL.clear; t_op_aire.SQL.Add('select * from t_op_aire where ' +open_data('0003','录入人','操作员','客服员','no','no') +' and 编号 in (select distinct 编号 from t_ch_fee where 费用状态=' +''''+'录入状态'+''''+') ' +default_sort(55,'t_op_aire','','desc')); t_op_aire.open; end; procedure Tfrm_op_aire.N34Click(Sender: TObject); begin if (not t_op_aire.IsEmpty) and (t_op_aire.sql.Text<>'') then airepsqlstr:=t_op_aire.sql.Text; t_op_aire.Close; t_op_aire.SQL.clear; t_op_aire.SQL.Add('select * from t_op_aire where ' +open_data('0003','录入人','操作员','客服员','no','no') +' and 编号 in (select distinct 编号 from t_ch_fee where 费用状态 in (' +''''+'驳回提交'+''''+','+''''+'禁止修改'+''''+','+''''+'禁止删除'+''''+')) ' +default_sort(55,'t_op_aire','','desc')); t_op_aire.open; end; procedure Tfrm_op_aire.N36Click(Sender: TObject); begin if (not t_op_aire.IsEmpty) and (t_op_aire.sql.Text<>'') then airepsqlstr:=t_op_aire.sql.Text; t_op_aire.Close; t_op_aire.SQL.clear; t_op_aire.SQL.Add('select * from t_op_aire where ' +open_data('0003','录入人','操作员','客服员','no','no') +' and 编号 in (select distinct 编号 from t_ch_fee where 费用状态 in (' +''''+'提交审核'+''''+','+''''+'申请修改'+''''+','+''''+'申请删除'+''''+')) ' +default_sort(55,'t_op_aire','','desc')); t_op_aire.open; end; procedure Tfrm_op_aire.N37Click(Sender: TObject); begin if (not t_op_aire.IsEmpty) and (t_op_aire.sql.Text<>'') then airepsqlstr:=t_op_aire.sql.Text; t_op_aire.Close; t_op_aire.SQL.clear; t_op_aire.SQL.Add('select * from t_op_aire where ' +open_data('0003','录入人','操作员','客服员','no','no') +' and 编号 in (select distinct 编号 from t_op_state where 是否完成<>1) ' +default_sort(55,'t_op_aire','','desc')); t_op_aire.open; end; procedure Tfrm_op_aire.N7Click(Sender: TObject); var str:widestring; begin if t_op_aire.IsEmpty then exit; if if_open('297') and if_open('298') then begin if (t_op_aire.State=dsinsert)or(t_op_aire.State=dsedit) then t_op_aire.post; try frm_ch_piliang_aire:=tfrm_ch_piliang_aire.Create (self); t_op_aire.DisableControls; t_op_aire.first; while not t_op_aire.eof do begin if str='' then str:=''''+t_op_aire.fieldbyname('编号').AsString+'''' else str:=str+','+''''+t_op_aire.fieldbyname('编号').AsString+''''; t_op_aire.next; end; str:='('+str+')'; str:='select * from t_op_aire where 编号 in '+str+default_sort(55,'t_op_aire','','desc'); frm_ch_piliang_aire.t_op_aire.Parameters.ParamByName('SQLStr').value:=str; frm_ch_piliang_aire.t_op_aire.open; frm_ch_piliang_aire.ShowModal; finally t_op_aire.EnableControls; frm_ch_piliang_aire.Free; frm_ch_piliang_aire:=nil; end; end else begin showmessage('你无权进行利润帐单批量打印!!'); end; end; procedure Tfrm_op_aire.N3Click(Sender: TObject); var str:widestring; begin if t_op_aire.IsEmpty then exit; if if_open('297') and if_open('298') then begin if (t_op_aire.State=dsinsert)or(t_op_aire.State=dsedit) then t_op_aire.post; try frm_ch_piliang_aire:=tfrm_ch_piliang_aire.Create (self); str:='select * from t_op_aire where 编号=' +''''+t_op_aire.fieldbyname('编号').AsString+''''; frm_ch_piliang_aire.t_op_aire.Parameters.ParamByName('SQLStr').value:=str; frm_ch_piliang_aire.t_op_aire.open; frm_ch_piliang_aire.ShowModal; finally frm_ch_piliang_aire.Free; frm_ch_piliang_aire:=nil; end; end else begin showmessage('你无权进行利润帐单批量打印!!'); end; end; procedure Tfrm_op_aire.N5Click(Sender: TObject); var str:widestring; i:integer; begin if t_op_aire.IsEmpty then exit; if dxDBGrid1.SelectedCount<1 then begin showmessage('请选择要打印的业务帐单!!'); exit; end; if if_open('297') and if_open('298') then begin if (t_op_aire.State=dsinsert)or(t_op_aire.State=dsedit) then t_op_aire.post; try frm_ch_piliang_aire:=tfrm_ch_piliang_aire.Create (self); t_op_aire.DisableControls; for i:=0 to dxDBGrid1.SelectedCount-1 do begin t_op_aire.GotoBookmark(pointer(dxDBGrid1.selectedrows[i])); if str='' then str:=''''+t_op_aire.fieldbyname('编号').AsString+'''' else str:=str+','+''''+t_op_aire.fieldbyname('编号').AsString+''''; end; str:='('+str+')'; str:='select * from t_op_aire where 编号 in '+str+default_sort(55,'t_op_aire','','desc'); frm_ch_piliang_aire.t_op_aire.Parameters.ParamByName('SQLStr').value:=str; frm_ch_piliang_aire.t_op_aire.open; frm_ch_piliang_aire.ShowModal; finally t_op_aire.EnableControls; frm_ch_piliang_aire.Free; frm_ch_piliang_aire:=nil; end; end else begin showmessage('你无权进行利润帐单批量打印!!'); end; end; procedure Tfrm_op_aire.RxDBLookupCombo31KeyPress(Sender: TObject; var Key: Char); begin key_wwDBComboBox(Key,wwDBComboBox1); end; procedure Tfrm_op_aire.wwDBLookupCombo1KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit10); end; procedure Tfrm_op_aire.wwDBLookupCombo52KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit19); end; procedure Tfrm_op_aire.wwDBLookupCombo2KeyPress(Sender: TObject; var Key: Char); begin key_wwDBDateTimePicker(Key,wwDBDateTimePicker8); end; procedure Tfrm_op_aire.wwDBLookupCombo3KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit16); end; procedure Tfrm_op_aire.wwDBLookupCombo4KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit11); end; procedure Tfrm_op_aire.wwDBLookupCombo5KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit13); end; procedure Tfrm_op_aire.wwDBDateTimePicker3KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo2); end; procedure Tfrm_op_aire.wwDBDateTimePicker1KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo3); end; procedure Tfrm_op_aire.N9Click(Sender: TObject); begin if (not t_op_aire.IsEmpty) and (t_op_aire.sql.Text<>'') then airepsqlstr:=t_op_aire.sql.Text; t_op_aire.Close; t_op_aire.SQL.clear; t_op_aire.SQL.Add('select * from t_op_aire where ' +open_data('0003','录入人','操作员','客服员','no','no') +' and 费用状态<>'+''''+'费用封帐'+'''' +' and not exists (select distinct 编号 from t_ch_fee where t_ch_fee.编号=t_op_aire.编号 and t_ch_fee.类型='+''''+'收'+''''+')' +default_sort(55,'t_op_aire','','desc')); t_op_aire.open; end; procedure Tfrm_op_aire.N20Click(Sender: TObject); begin if (not t_op_aire.IsEmpty) and (t_op_aire.sql.Text<>'') then airepsqlstr:=t_op_aire.sql.Text; t_op_aire.Close; t_op_aire.SQL.clear; t_op_aire.SQL.Add('select * from t_op_aire where ' +open_data('0003','录入人','操作员','客服员','no','no') +' and 费用状态<>'+''''+'费用封帐'+'''' +' and not exists (select distinct 编号 from t_ch_fee where t_ch_fee.编号=t_op_aire.编号 and t_ch_fee.类型='+''''+'付'+''''+')' +default_sort(55,'t_op_aire','','desc')); t_op_aire.open; end; procedure Tfrm_op_aire.t_op_aireBeforeEdit(DataSet: TDataSet); begin op_befor_post(t_op_aire,'0003'); end; procedure Tfrm_op_aire.t_op_airePostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); var str:widestring; begin if pos('SOME VALUES MAY HAVE BEEN CHANGED',UpperCase(E.Message))<>0 then begin showmessage('数据已经被其它用户修改,当前修改不能保存'+#13#10+'请刷新数据后重新录入'); abort; end; if pos('主提单标准',UpperCase(E.Message))<>0 then begin str:='select * from t_op_aire where 主提单标准='+''''+t_op_aire['主提单标准']+''''; double_aire(str,1); abort; end; if pos('分提单标准',UpperCase(E.Message))<>0 then begin str:='select * from t_op_aire where 分提单标准='+''''+t_op_aire['分提单标准']+''''; double_aire(str,2); abort; end; if pos('委托标准',UpperCase(E.Message))<>0 then begin str:='select * from t_op_aire where 委托标准='+''''+t_op_aire['委托标准']+''''; double_aire(str,3); abort; end; end; procedure Tfrm_op_aire.t_op_aireBeforeCancel(DataSet: TDataSet); begin delete_no(t_op_aire); if t_op_aire.State=dsinsert then if not t_op_aire.FieldByName('委托编号').IsNull then delwtno(t_op_aire['委托编号']); end; procedure Tfrm_op_aire.N21Click(Sender: TObject); begin if (not t_op_aire.IsEmpty) and (t_op_aire.sql.Text<>'') then airepsqlstr:=t_op_aire.sql.Text; t_op_aire.Close; t_op_aire.SQL.clear; t_op_aire.SQL.Add('select * from t_op_aire where ' +open_data('0003','录入人','操作员','客服员','no','no') +' and 费用状态<>'+''''+'费用封帐'+'''' +' and not exists (select distinct 编号 from t_ch_fee where t_ch_fee.编号=t_op_aire.编号 )' +default_sort(55,'t_op_aire','','desc')); t_op_aire.open; end; procedure Tfrm_op_aire.N24Click(Sender: TObject); begin if (not t_op_aire.IsEmpty) and (t_op_aire.sql.Text<>'') then airepsqlstr:=t_op_aire.sql.Text; t_op_aire.Close; t_op_aire.SQL.clear; t_op_aire.SQL.Add('select * from t_op_aire where ' +open_data('0003','录入人','操作员','客服员','no','no') +' and 费用状态<>'+''''+'费用封帐'+'''' +' and 编号 in (select distinct 编号 from t_ch_fee where 费用状态<>'+''''+'结算完毕'+''''+')' +default_sort(55,'t_op_aire','','desc')); t_op_aire.open; end; procedure Tfrm_op_aire.dxDBGrid1Column34CustomDraw(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont; var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean); begin if Trim(ANode.Strings[dxDBGrid1Column34.Index])='更改单' then AColor:=clred; AFont.Color:=clblack; end; procedure Tfrm_op_aire.wwDBComboBox3KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo22); end; procedure Tfrm_op_aire.DBEdit5KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit57); end; procedure Tfrm_op_aire.N26Click(Sender: TObject); begin if t_op_aire.IsEmpty then exit; if not do_data('0003',t_op_aire.FieldByName('录入人').asstring ,t_op_aire.FieldByName('操作员').asstring ,t_op_aire.FieldByName('揽货人').asstring ,t_op_aire.FieldByName('客服员').asstring ,'','') then begin showmessage('对不起你无权修改此数据!'); abort; end; if t_op_aire.FieldByName('业务状态').asstring='业务封帐' then begin showmessage('此票业务状态已经为业务封帐状态,不能修改!'); abort; end; if t_op_aire1=nil then exit; if (t_op_aire.State=dsinsert)or(t_op_aire.State=dsedit) then t_op_aire.post; try frm_op_date_change:=tfrm_op_date_change.Create (self); frm_op_date_change.DataSource1.Enabled:=false; frm_op_date_change.DataSource1.DataSet:=t_op_aire1.DataSet; frm_op_date_change.DataSource1.Enabled:=true; frm_op_date_change.ShowModal; finally frm_op_date_change.Free; frm_op_date_change:=nil; end; end; procedure Tfrm_op_aire.wwDBComboBox2Change(Sender: TObject); begin // if t_op_aire1.DataSet=nil then // exit; if wwDBComboBox2.text='空运主票' then begin bsSkinPageControl2.Visible:=true; bsSkinPanel6.Visible:=true; if strtobool(get_parameters_value(131,'false')) then begin end else begin DBEdit7.Color:=clBtnFace; DBEdit7.ReadOnly:=true; end; end else begin bsSkinPageControl2.Visible:=false; bsSkinPanel6.Visible:=false; DBEdit7.Color:=clWindow; DBEdit7.ReadOnly:=false; end; end; procedure Tfrm_op_aire.dxDBGrid2DblClick(Sender: TObject); begin bsSkinButton11.Caption:='返回主票'; try t_op_aire1.Enabled:=false; t_op_aire1.DataSet:=t_op_aire_fen; finally t_op_aire1.Enabled:=true; end; end; procedure Tfrm_op_aire.bsSkinButton32Click(Sender: TObject); begin if (t_op_aire.State=dsinsert)or(t_op_aire.State=dsedit) then t_op_aire.post; if (t_op_aire_fen.State=dsinsert)or(t_op_aire_fen.State=dsedit) then t_op_aire_fen.post; try frm_op_aire_add:=tfrm_op_aire_add.Create (self); frm_op_aire_add.data1.Enabled:=false; frm_op_aire_add.data1.DataSet:=t_op_aire_fen; frm_op_aire_add.data1.Enabled:=true; frm_op_aire_add.bsSkinCheckRadioBox3.Checked:=true; frm_op_aire_add.bsSkinCheckRadioBox2.Enabled:=false; frm_op_aire_add.bsSkinCheckRadioBox4.Enabled:=true; frm_op_aire_add_num:=3; frm_op_aire_add.ShowModal; finally frm_op_aire_add.Free end; end; procedure Tfrm_op_aire.bsSkinButton33Click(Sender: TObject); begin bsSkinButton11.Caption:='返回主票'; try t_op_aire1.Enabled:=false; t_op_aire1.DataSet:=t_op_aire_fen; finally t_op_aire1.Enabled:=true; end; end; procedure Tfrm_op_aire.N29Click(Sender: TObject); begin if t_op_aire_fen.IsEmpty then exit; t_op_aire_fen.edit; t_op_aire_fen['主编号']:=t_op_aire_fen['编号']; t_op_aire_fen.post; t_op_aire_fen.Requery(); end; procedure Tfrm_op_aire.bsSkinButton34Click(Sender: TObject); var Pnt:Tpoint; begin Pnt:=bsSkinButton34.ClientToScreen(Point(0,bsSkinButton34.Height)); PopupMenu4.Popup(Pnt.x,Pnt.y); end; procedure Tfrm_op_aire.N27Click(Sender: TObject); begin if t_op_aire_fen.IsEmpty then exit; t_op_aire_fen.edit; t_op_aire_fen['主编号']:=t_op_aire_fen['编号']; t_op_aire_fen['装运方式']:='空运单票'; t_op_aire_fen.post; t_op_aire_fen.Requery(); end; procedure Tfrm_op_aire.N76Click(Sender: TObject); begin update_grid_view_no(dxdbgrid2); end; procedure Tfrm_op_aire.N78Click(Sender: TObject); begin update_grid_view_all(dxdbgrid2); end; procedure Tfrm_op_aire.bsSkinButton36Click(Sender: TObject); begin if (t_op_aire_fen.State=dsinsert)or(t_op_aire_fen.State=dsedit) then t_op_aire_fen.post; end; procedure Tfrm_op_aire.N33Click(Sender: TObject); begin if t_op_aire.IsEmpty then exit; if t_op_aire.FieldByName('装运方式').asstring='空运单票' then exit; if t_op_aire.FieldByName('装运方式').asstring='空运主票'then begin if not t_op_aire_fen.IsEmpty then begin showmessage('当前主票含有分票信息,不能更改为单票!!'); exit; end; end; t_op_aire.edit; t_op_aire['装运方式']:='空运单票'; t_op_aire['主编号']:=t_op_aire['编号']; t_op_aire.post; end; procedure Tfrm_op_aire.N40Click(Sender: TObject); begin if t_op_aire.IsEmpty then exit; if t_op_aire.FieldByName('装运方式').asstring='空运主票' then exit; t_op_aire.edit; t_op_aire['装运方式']:='空运主票'; t_op_aire['主编号']:=t_op_aire['编号']; t_op_aire.post; end; procedure Tfrm_op_aire.N42Click(Sender: TObject); begin if t_op_aire.IsEmpty then exit; if t_op_aire.FieldByName('装运方式').asstring='空运分票' then exit; if t_op_aire.FieldByName('装运方式').asstring='空运主票'then begin if not t_op_aire_fen.IsEmpty then begin showmessage('当前主票含有分票信息,不能更改为分票!!'); exit; end; end; t_op_aire.edit; t_op_aire['装运方式']:='空运分票'; t_op_aire['主编号']:=t_op_aire['编号']; t_op_aire.post; end; procedure Tfrm_op_aire.N44Click(Sender: TObject); begin if (t_op_aire.State=dsinsert)or(t_op_aire.State=dsedit) then t_op_aire.post; try frm_op_add_aire:=tfrm_op_add_aire.Create (self); frm_op_add_aire.ShowModal; finally frm_op_add_aire.Free; end; end; procedure Tfrm_op_aire.t_op_aire_fenAfterInsert(DataSet: TDataSet); begin t_op_aire_fen['航空公司']:=t_op_aire['航空公司']; t_op_aire_fen['始发港']:=t_op_aire['始发港']; t_op_aire_fen['目的港']:=t_op_aire['目的港']; t_op_aire_fen['一程目的港']:=t_op_aire['一程目的港']; t_op_aire_fen['一程航班']:=t_op_aire['一程航班']; t_op_aire_fen['一程开航日期']:=t_op_aire['一程开航日期']; t_op_aire_fen['二程目的港']:=t_op_aire['二程目的港']; t_op_aire_fen['二程航班']:=t_op_aire['二程航班']; t_op_aire_fen['二程开航日期']:=t_op_aire['二程开航日期']; t_op_aire_fen['三程目的港']:=t_op_aire['三程目的港']; t_op_aire_fen['三程航班']:=t_op_aire['三程航班']; t_op_aire_fen['三程开航日期']:=t_op_aire['三程开航日期']; t_op_aire_fen['四程目的港']:=t_op_aire['四程目的港']; t_op_aire_fen['四程航班']:=t_op_aire['四程航班']; t_op_aire_fen['四程开航日期']:=t_op_aire['四程开航日期']; t_op_aire_fen['英文航期']:=t_op_aire['英文航期']; t_op_aire_fen['分部名称']:=t_op_aire['分部名称']; end; procedure Tfrm_op_aire.t_op_aire_fenBeforeCancel(DataSet: TDataSet); begin delete_no(t_op_aire_fen); if t_op_aire_fen.State=dsinsert then if not t_op_aire_fen.FieldByName('委托编号').IsNull then delwtno(t_op_aire_fen['委托编号']); end; procedure Tfrm_op_aire.t_op_aire_fenBeforeDelete(DataSet: TDataSet); begin op_befor_post(t_op_aire_fen,'0003'); delete_add(3,t_op_aire_fen); if not t_op_aire_fen.FieldByName('委托编号').IsNull then delwtno(t_op_aire_fen['委托编号']); end; procedure Tfrm_op_aire.t_op_aire_fenBeforeEdit(DataSet: TDataSet); begin op_befor_post(t_op_aire_fen,'0003'); end; procedure Tfrm_op_aire.t_op_aire_fenBeforePost(DataSet: TDataSet); begin table_before_post(t_op_aire_fen,'委托单位'); table_before_post(t_op_aire_fen,'操作员'); table_before_post(t_op_aire_fen,'客服员'); table_before_post(t_op_aire_fen,'一程开航日期'); table_before_post(t_op_aire_fen,'一程航班'); table_before_post(t_op_aire_fen,'始发港'); table_before_post(t_op_aire_fen,'目的港'); table_before_post(t_op_aire_fen,'业务来源'); if pos('指定',t_op_aire_fen.FieldByName('业务来源').AsString)>0 then begin end else begin table_before_post(t_op_aire_fen,'揽货人'); table_before_post(t_op_aire_fen,'销售部门'); end; table_before_post(t_op_aire_fen,'操作部门'); if Trim(frm_data_share.t_sys_noset.fieldbyname('出号规则').Asstring)='自动取号' then if t_op_aire_fen.FieldByName('委托编号').IsNull or (trim(t_op_aire_fen['委托编号'])='') then if Trim(frm_data_share.t_sys_noset.fieldbyname('日期规则').Asstring)='会计期间' then t_op_aire_fen['委托编号']:=getwtno(3,subComp,department,employee,t_op_aire_fen['会计期间']) else t_op_aire_fen['委托编号']:=getwtno(3,subComp,department,employee,t_op_aire_fen['一程开航日期']); // op_empty('t_op_aire',t_op_aire_fen); if t_op_aire_fen.fieldbyname('一程开航日期').oldvalue<>t_op_aire_fen.fieldbyname('一程开航日期').asdatetime then if (t_op_aire_fen.fieldbyname('业务类型').asstring<>'更改单') and (Logininfo.endday>=t_op_aire_fen.fieldbyname('一程开航日期').asdatetime) then begin showmessage('此开航日期所在期间已月末结账,不能添加修改业务!!'); abort; end; if t_op_aire_fen.FieldByName('委托单位').OldValue<>t_op_aire_fen.FieldByName('委托单位').asstring then begin if frm_data_share.t_crm_client_all.Locate('客户简称',t_op_aire_fen.FieldByName('委托单位').asstring,[])then begin if frm_data_share.t_crm_client_all.fieldbyname('客户状态').asstring='封存客户'then begin showmessage('当前业务委托单位已经封存,不能再进行业务合作,如需合作请进行恢复客户操作!'); abort; end; end; end; if t_op_aire_fen.State=dsinsert then begin if t_op_aire_fen.fieldbyname('业务编号').asstring=''then begin t_op_aire_fen['业务编号']:=get_no(t_op_aire_fen.fieldbyname('会计期间').AsDateTime,getbsno(Logininfo.AirExpBsNo,'AE')); t_op_aire_fen['编号']:=get_id; end; t_op_aire_fen['主编号']:=t_op_aire['编号']; t_op_aire_fen['业务状态']:='接受委托'; t_op_aire_fen['费用状态']:='录入状态'; end; t_op_aire_fen['英文航期']:=date_eng(t_op_aire_fen.fieldbyname('一程开航日期').AsDateTime); t_op_aire_fen['主提单标准']:=t_op_aire_fen['编号']; if strtobool(get_parameters_value(41,'false')) then begin if (trim(t_op_aire_fen.fieldbyname('分运单号').asstring)='') or (t_op_aire_fen.fieldbyname('业务类型').asstring='更改单') then begin t_op_aire_fen['分提单标准']:=t_op_aire_fen['编号']; end else begin t_op_aire_fen['分提单标准']:=Logininfo.subcompcode+t_op_aire_fen['分运单号']; end; end else begin t_op_aire_fen['分提单标准']:=t_op_aire_fen['编号']; end; if strtobool(get_parameters_value(42,'false')) then begin if (trim(t_op_aire_fen.fieldbyname('委托编号').asstring)='') or (t_op_aire_fen.fieldbyname('业务类型').asstring='更改单') then begin t_op_aire_fen['委托标准']:=t_op_aire_fen['编号']; end else begin t_op_aire_fen['委托标准']:=t_op_aire_fen['委托编号']; end; end else begin t_op_aire_fen['委托标准']:=t_op_aire_fen['编号']; end; t_op_aire_fen['Upload']:=1; end; procedure Tfrm_op_aire.t_op_aire_fenPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); var str:widestring; begin if pos('SOME VALUES MAY HAVE BEEN CHANGED',UpperCase(E.Message))<>0 then begin showmessage('数据已经被其它用户修改,当前修改不能保存'+#13#10+'请刷新数据后重新录入'); abort; end; if pos('主提单标准',UpperCase(E.Message))<>0 then begin str:='select * from t_op_aire where 主提单标准='+''''+t_op_aire_fen['主提单标准']+''''; double_aire(str,1); abort; end; if pos('分提单标准',UpperCase(E.Message))<>0 then begin str:='select * from t_op_aire where 分提单标准='+''''+t_op_aire_fen['分提单标准']+''''; double_aire(str,2); abort; end; if pos('委托标准',UpperCase(E.Message))<>0 then begin str:='select * from t_op_aire where 委托标准='+''''+t_op_aire_fen['委托标准']+''''; double_aire(str,3); abort; end; end; procedure Tfrm_op_aire.bsSkinPageControl1Change(Sender: TObject); begin if frm_op_aire_create=false then exit; if bsSkinPageControl1.ActivePage=bsSkinTabSheet5 then begin if not assigned(frm_op_aire_assistant) then frm_op_aire_assistant:=tfrm_op_aire_assistant.Create (self); frm_op_aire_assistant.t_op_aire_assistant.DataSource:=t_op_aire1; frm_op_aire_assistant.t_op_aire_assistant.open; frm_op_aire_assistant.ManualDock(bsSkinTabSheet5,nil,alClient); frm_op_aire_assistant.show; exit; end; {$IFDEF DLFENZHANG} if bsSkinPageControl1.ActivePage=bsSkinTabSheet6 then begin if not assigned(frm_op_seae_fenzhang) then begin frm_op_seae_fenzhang:=tfrm_op_seae_fenzhang.Create (self); end; frm_op_seae_fenzhang.t_ch_fee_fenzhang.Close; frm_op_seae_fenzhang.t_ch_fee.Close; frm_op_seae_fenzhang.t_ch_fee_fenzhang.DataSource:=t_op_aire1; frm_op_seae_fenzhang.t_ch_fee_fenzhang.open; frm_op_seae_fenzhang.t_ch_fee_fenzhango.Close; frm_op_seae_fenzhang.t_ch_fee_fenzhango.DataSource:=t_op_aire1; frm_op_seae_fenzhang.t_ch_fee_fenzhango.open; frm_op_seae_fenzhang.t_ch_fee.open; frm_op_seae_fenzhang.t_op_fenzhang.DataSource:=t_op_aire1; frm_op_seae_fenzhang.t_op_fenzhang.open; frm_op_seae_fenzhang.t_op_seae_assistant.Close; frm_op_seae_fenzhang.t_op_seae_assistant.sql.Text:='select * from t_op_aire_assistant where 编号=:编号 order by 主运单号 '; frm_op_seae_fenzhang.t_op_seae_assistant.DataSource:=t_op_aire1; frm_op_seae_fenzhang.t_op_seae_assistant.Open; frm_op_seae_fenzhang.t_ch_fee_pl.Close; frm_op_seae_fenzhang.t_ch_fee_pl.DataSource:=t_op_aire1; frm_op_seae_fenzhang.t_ch_fee_pl.open; frm_op_seae_fenzhang.t_ch_fee_pl_detail.open; frm_op_seae_fenzhang.t_ch_fee_pl_detailf.open; frm_op_seae_fenzhang.ManualDock(bsSkinTabSheet6,nil,alClient); frm_op_seae_fenzhang.show; exit; end; if bsSkinPageControl1.ActivePage<>bsSkinTabSheet6 then begin if assigned(frm_op_seae_fenzhang) then begin FreeAndNil(frm_op_seae_fenzhang); end; end; {$ENDIF} if bsSkinPageControl1.ActivePage=bsSkinTabSheet8 then begin if not t_op_file.Active then t_op_file.open; end else begin if t_op_file.State in [dsedit,dsinsert] then t_op_file.Post; t_op_file.close; end; end; procedure Tfrm_op_aire.t_op_aire1DataChange(Sender: TObject; Field: TField); begin { if assigned(frm_op_seae_fenzhang) then begin frm_op_seae_fenzhang.t_ch_fee_fenzhang.Close; frm_op_seae_fenzhang.t_ch_fee_fenzhang.open; end; } end; procedure Tfrm_op_aire.RxDBLookupCombo16Change(Sender: TObject); begin if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit)then begin if RxDBLookupCombo16.DisplayValue<>'' then t_op_aire1.DataSet['发货人代码']:=frm_data_share.t_crm_client_shiper.fieldbyname('空运快捷代码').asstring; end; end; procedure Tfrm_op_aire.RxDBLookupCombo17Change(Sender: TObject); begin if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit)then begin if RxDBLookupCombo17.DisplayValue<>'' then t_op_aire1.DataSet['收货人代码']:=frm_data_share.t_crm_client_shouhuo.fieldbyname('空运快捷代码').asstring; end; end; procedure Tfrm_op_aire.RxDBLookupCombo18Change(Sender: TObject); begin if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit)then begin if RxDBLookupCombo18.DisplayValue<>'' then t_op_aire1.DataSet['通知人代码']:=frm_data_share.t_crm_client_tongzhi.fieldbyname('空运快捷代码').asstring; end; end; procedure Tfrm_op_aire.RxDBLookupCombo19Change(Sender: TObject); begin if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit)then begin if RxDBLookupCombo19.DisplayValue<>'' then t_op_aire1.DataSet['代理内容']:=frm_data_share.t_crm_client_daili.fieldbyname('空运快捷代码').asstring; end; end; procedure Tfrm_op_aire.wwDBLookupCombo6Change(Sender: TObject); begin if frm_data_share.t_code_code.locate('代码',wwDBLookupCombo6.text,[]) then begin t_op_aire1.DataSet.edit; t_op_aire1.DataSet['发货人代码']:=frm_data_share.t_code_code.fieldbyname('内容').asstring; end; end; procedure Tfrm_op_aire.wwDBLookupCombo6Enter(Sender: TObject); begin with frm_data_share do begin t_code_code.Filtered:=false; t_code_code.Filter:='发货人=1'; t_code_code.Filtered:=true; end; end; procedure Tfrm_op_aire.wwDBLookupCombo6Exit(Sender: TObject); begin wwDBLookupCombo6.Clear; end; procedure Tfrm_op_aire.wwDBLookupCombo7Change(Sender: TObject); begin if frm_data_share.t_code_code.locate('代码',wwDBLookupCombo7.text,[]) then begin t_op_aire1.DataSet.edit; t_op_aire1.DataSet['收货人代码']:=frm_data_share.t_code_code.fieldbyname('内容').asstring; end; end; procedure Tfrm_op_aire.wwDBLookupCombo7Enter(Sender: TObject); begin with frm_data_share do begin t_code_code.Filtered:=false; t_code_code.Filter:='收货人=1'; t_code_code.Filtered:=true; end; end; procedure Tfrm_op_aire.wwDBLookupCombo7Exit(Sender: TObject); begin wwDBLookupCombo7.Clear; end; procedure Tfrm_op_aire.wwDBLookupCombo8Change(Sender: TObject); begin if frm_data_share.t_code_code.locate('代码',wwDBLookupCombo8.text,[]) then begin t_op_aire1.DataSet.edit; t_op_aire1.DataSet['通知人代码']:=frm_data_share.t_code_code.fieldbyname('内容').asstring; end; end; procedure Tfrm_op_aire.wwDBLookupCombo8Enter(Sender: TObject); begin with frm_data_share do begin t_code_code.Filtered:=false; t_code_code.Filter:='通知人=1'; t_code_code.Filtered:=true; end; end; procedure Tfrm_op_aire.wwDBLookupCombo8Exit(Sender: TObject); begin wwDBLookupCombo8.Clear; end; procedure Tfrm_op_aire.wwDBLookupCombo9Change(Sender: TObject); begin if frm_data_share.t_code_code.locate('代码',wwDBLookupCombo9.text,[]) then begin t_op_aire1.DataSet.edit; t_op_aire1.DataSet['代理内容']:=frm_data_share.t_code_code.fieldbyname('内容').asstring; end; end; procedure Tfrm_op_aire.wwDBLookupCombo9Enter(Sender: TObject); begin with frm_data_share do begin t_code_code.Filtered:=false; t_code_code.Filter:='代理=1'; t_code_code.Filtered:=true; end; end; procedure Tfrm_op_aire.wwDBLookupCombo9Exit(Sender: TObject); begin wwDBLookupCombo9.Clear; end; procedure Tfrm_op_aire.RxDBLookupCombo2Change(Sender: TObject); begin if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit)then begin if RxDBLookupCombo2.DisplayValue<>'' then t_op_aire1.DataSet['发货人代码']:=frm_data_share.t_crm_client_shiper.fieldbyname('空运快捷代码').asstring; end; end; procedure Tfrm_op_aire.RxDBLookupCombo3Change(Sender: TObject); begin if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit)then begin if RxDBLookupCombo3.DisplayValue<>'' then t_op_aire1.DataSet['收货人代码']:=frm_data_share.t_crm_client_shouhuo.fieldbyname('空运快捷代码').asstring; end; end; procedure Tfrm_op_aire.RxDBLookupCombo4Change(Sender: TObject); begin if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit)then begin if RxDBLookupCombo4.DisplayValue<>'' then t_op_aire1.DataSet['通知人代码']:=frm_data_share.t_crm_client_tongzhi.fieldbyname('空运快捷代码').asstring; end; end; procedure Tfrm_op_aire.RxDBLookupCombo5Change(Sender: TObject); begin if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit)then begin if RxDBLookupCombo5.DisplayValue<>'' then t_op_aire1.DataSet['代理内容']:=frm_data_share.t_crm_client_daili.fieldbyname('空运快捷代码').asstring; end; end; procedure Tfrm_op_aire.wwDBLookupCombo10Change(Sender: TObject); begin if frm_data_share.t_code_code.locate('代码',wwDBLookupCombo10.text,[]) then begin t_op_aire1.DataSet.edit; t_op_aire1.DataSet['发货人代码']:=frm_data_share.t_code_code.fieldbyname('内容').asstring; end; end; procedure Tfrm_op_aire.wwDBLookupCombo10Exit(Sender: TObject); begin wwDBLookupCombo10.Clear; end; procedure Tfrm_op_aire.wwDBLookupCombo11Change(Sender: TObject); begin if frm_data_share.t_code_code.locate('代码',wwDBLookupCombo11.text,[]) then begin t_op_aire1.DataSet.edit; t_op_aire1.DataSet['收货人代码']:=frm_data_share.t_code_code.fieldbyname('内容').asstring; end; end; procedure Tfrm_op_aire.wwDBLookupCombo11Exit(Sender: TObject); begin wwDBLookupCombo11.Clear; end; procedure Tfrm_op_aire.wwDBLookupCombo12Change(Sender: TObject); begin if frm_data_share.t_code_code.locate('代码',wwDBLookupCombo12.text,[]) then begin t_op_aire1.DataSet.edit; t_op_aire1.DataSet['通知人代码']:=frm_data_share.t_code_code.fieldbyname('内容').asstring; end; end; procedure Tfrm_op_aire.wwDBLookupCombo12Exit(Sender: TObject); begin wwDBLookupCombo12.Clear; end; procedure Tfrm_op_aire.wwDBLookupCombo13Change(Sender: TObject); begin if frm_data_share.t_code_code.locate('代码',wwDBLookupCombo13.text,[]) then begin t_op_aire1.DataSet.edit; t_op_aire1.DataSet['代理内容']:=frm_data_share.t_code_code.fieldbyname('内容').asstring; end; end; procedure Tfrm_op_aire.wwDBLookupCombo13Exit(Sender: TObject); begin wwDBLookupCombo13.Clear; end; procedure Tfrm_op_aire.N46Click(Sender: TObject); begin if (not t_op_aire.IsEmpty) and (t_op_aire.sql.Text<>'') then airepsqlstr:=t_op_aire.sql.Text; t_op_aire.Close; t_op_aire.SQL.clear; t_op_aire.SQL.Add('select * from t_op_aire where ' +open_data('0003','录入人','操作员','客服员','no','no') +' and 费用状态<>'+''''+'费用封帐'+'''' +' and 编号 in (select distinct 编号 from t_ch_fee where 金额<>开票金额 and 类型='''+'收'+''''+' )' +default_sort(55,'t_op_aire','','desc')); t_op_aire.open; end; procedure Tfrm_op_aire.RxDBLookupCombo9KeyPress(Sender: TObject; var Key: Char); begin key_wwDBDateTimePicker(Key,wwDBDateTimePicker3); end; procedure Tfrm_op_aire.DBEditEh1KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit7); end; procedure Tfrm_op_aire.RxDBLookupCombo16Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo16); end; procedure Tfrm_op_aire.RxDBLookupCombo17Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo17); end; procedure Tfrm_op_aire.RxDBLookupCombo18Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo18); end; procedure Tfrm_op_aire.RxDBLookupCombo19Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo19); end; procedure Tfrm_op_aire.RxDBLookupCombo16Exit(Sender: TObject); begin RxLookupComboExit(RxDBLookupCombo16); end; procedure Tfrm_op_aire.RxDBLookupCombo17Exit(Sender: TObject); begin RxLookupComboExit(RxDBLookupCombo17); end; procedure Tfrm_op_aire.RxDBLookupCombo18Exit(Sender: TObject); begin RxLookupComboExit(RxDBLookupCombo18); end; procedure Tfrm_op_aire.RxDBLookupCombo19Exit(Sender: TObject); begin RxLookupComboExit(RxDBLookupCombo19); end; procedure Tfrm_op_aire.wwDBComboBox2KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo15); end; procedure Tfrm_op_aire.wwDBLookupCombo52Change(Sender: TObject); begin if (t_op_aire1.DataSet.state=dsinsert)or(t_op_aire1.DataSet.state=dsedit)then begin if wwDBLookupCombo52.text='' then exit; if frm_data_share.t_code_port_air.locate('代码',wwDBLookupCombo52.text,[]) then begin t_op_aire1.DataSet['始发港']:=frm_data_share.t_code_port_air['英文名']; t_op_aire1.DataSet['始发港国家']:=frm_data_share.t_code_port_air['国家']; end; end; end; procedure Tfrm_op_aire.bsSkinButton44Click(Sender: TObject); var str:widestring; begin str:=''; str:=query_tiaojian(1,str,'t_op_aire.业务编号','模糊',Edit1.text); str:=query_tiaojian(1,str,'t_op_aire.委托编号','模糊',Edit4.text); str:=query_tiaojian(1,str,'t_op_aire.主运单号','模糊',Edit2.text); str:=query_tiaojian(1,str,'t_op_aire.分运单号','模糊',Edit3.text); if trim(str)='' then begin str:='where '+open_data('0003','t_op_aire.录入人', 't_op_aire.操作员','t_op_aire.客服员','no','no'); end else begin str:=str+' and '+open_data('0003','t_op_aire.录入人', 't_op_aire.操作员','t_op_aire.客服员','no','no'); end; // str:='select * from t_op_aire where 主编号=编号 and 装运方式<>''报关'' '+' and 编号 in (select 主编号 from t_op_aire ' str:='select * from t_op_aire where 主编号=编号 and 编号 in (select 主编号 from t_op_aire ' +str+')'+default_sort(55,'t_op_aire','','desc'); if (not t_op_aire.IsEmpty) and (t_op_aire.sql.Text<>'') then airepsqlstr:=t_op_aire.sql.Text; t_op_aire.close; t_op_aire.sql.clear; t_op_aire.sql.add(str); t_op_aire.Open; if t_op_aire.IsEmpty then begin showmessage('没有检索出所需数据!!'); exit; end; end; procedure Tfrm_op_aire.N49Click(Sender: TObject); var inifile1:Tinifile; begin bsSkinPanel9.Visible:=true; bsSkinButton13.Top:=3+bsSkinPanel9.Height; inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini'); inifile1.WriteBool('other','aedisp',bsSkinPanel9.Visible); inifile1.free; end; procedure Tfrm_op_aire.N50Click(Sender: TObject); var inifile1:Tinifile; begin bsSkinPanel9.Visible:=false; bsSkinButton13.Top:=3; inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini'); inifile1.WriteBool('other','aedisp',bsSkinPanel9.Visible); inifile1.free; end; procedure Tfrm_op_aire.Edit1KeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then bsSkinButton44.OnClick(Sender); end; procedure Tfrm_op_aire.N52Click(Sender: TObject); var i,j,l:integer; s:string; seabandini:tinifile ; begin seabandini:=Tinifile.Create(ExtractFilePath(application.ExeName)+'bandno.ini'); frm_sys_tab_sort:=tfrm_sys_tab_sort.create(self); try frm_sys_tab_sort.ListBox2.Clear; for i:=0 to bsSkinPageControl1.PageCount-1 do begin frm_sys_tab_sort.ListBox2.Items.Add(bsSkinPageControl1.Pages[i].Caption+':'+bsSkinPageControl1.Pages[i].Name); end; frm_sys_tab_sort.ShowModal; if frm_sys_tab_sort.ModalResult=mrOk then begin for j:=0 to frm_sys_tab_sort.ListBox2.Items.Count-1 do begin s:=frm_sys_tab_sort.ListBox2.Items[j]; l:=pos(':',s)+1; for i:=0 to bsSkinPageControl1.PageCount-1 do begin if bsSkinPageControl1.Pages[i].Name=copy(s,l,length(s)-l+1) then begin bsSkinPageControl1.Pages[i].PageIndex:=j; seabandini.Writeinteger('airexp',copy(s,l,length(s)-l+1),j); end; end; end; end; finally FreeAndNil(frm_sys_tab_sort); freeandnil(seabandini); end; end; procedure Tfrm_op_aire.RxDBLookupCombo2Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo2); end; procedure Tfrm_op_aire.RxDBLookupCombo3Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo3); end; procedure Tfrm_op_aire.RxDBLookupCombo4Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo4); end; procedure Tfrm_op_aire.RxDBLookupCombo5Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo5); end; procedure Tfrm_op_aire.RxDBLookupCombo2Exit(Sender: TObject); begin RxLookupComboexit(RxDBLookupCombo2); end; procedure Tfrm_op_aire.RxDBLookupCombo3Exit(Sender: TObject); begin RxLookupComboexit(RxDBLookupCombo3); end; procedure Tfrm_op_aire.RxDBLookupCombo4Exit(Sender: TObject); begin RxLookupComboexit(RxDBLookupCombo4); end; procedure Tfrm_op_aire.RxDBLookupCombo5Exit(Sender: TObject); begin RxLookupComboexit(RxDBLookupCombo5); end; procedure Tfrm_op_aire.bsSkinButton38Click(Sender: TObject); var book1:Tbookmark; begin book1:=t_op_aire1.DataSet.GetBookmark; t_op_aire1.DataSet.Refresh; t_op_aire1.DataSet.GotoBookmark(book1); end; procedure Tfrm_op_aire.wwDBComboBox8Change(Sender: TObject); begin if not (t_op_aire1.dataset.State in [dsedit,dsinsert]) then exit; if wwDBComboBox8.text='PP' then begin t_op_aire1.dataset.FieldByName('币制').AsString:='RMB'; t_op_aire1.dataset.FieldByName('付费方式').AsString:='FREIGHT PREPAID'; end else if wwDBComboBox8.text='CC' then begin t_op_aire1.dataset.FieldByName('币制').AsString:='USD'; t_op_aire1.dataset.FieldByName('付费方式').AsString:='FREIGHT COLLECT'; end; end; procedure Tfrm_op_aire.DBEdit19KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit20); end; procedure Tfrm_op_aire.DBEdit20KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo15); end; procedure Tfrm_op_aire.DBEdit10KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit12); end; procedure Tfrm_op_aire.DBEdit12KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit22); end; procedure Tfrm_op_aire.DBEdit33KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit15); end; procedure Tfrm_op_aire.wwDBDateTimePicker8KeyPress(Sender: TObject; var Key: Char); begin key_DBMemo(Key,DBMemo9); end; procedure Tfrm_op_aire.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin CanClose:=frm_close_query(fra_op_card1.t_op_card); end; procedure Tfrm_op_aire.RxDBLookupCombo1Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo1); end; procedure Tfrm_op_aire.RxDBLookupCombo6Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo6); end; procedure Tfrm_op_aire.RxDBLookupCombo21Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo21); end; procedure Tfrm_op_aire.RxDBLookupCombo1Exit(Sender: TObject); begin RxLookupComboexit(RxDBLookupCombo1); end; procedure Tfrm_op_aire.RxDBLookupCombo6Exit(Sender: TObject); begin RxLookupComboExit(RxDBLookupCombo6); end; procedure Tfrm_op_aire.RxDBLookupCombo21Exit(Sender: TObject); begin RxLookupComboExit(RxDBLookupCombo21); end; procedure Tfrm_op_aire.t_billfeecharge(Sender: TField); begin if sender.DataSet.State in [dsedit,dsinsert] then begin if (not sender.DataSet.fieldbyname('计价重量').IsNull) and (not sender.DataSet.fieldbyname('运价').IsNull) then sender.DataSet.fieldbyname('运费').Asfloat:=sender.DataSet.fieldbyname('计价重量').Asfloat*sender.DataSet.fieldbyname('运价').Asfloat; end; end; procedure Tfrm_op_aire.t_billfeedecharge(Sender: TField); var OT,YF,ZF:double; begin if sender.DataSet.State in [dsedit,dsinsert] then begin if sender.DataSet.fieldbyname('其他预付').IsNull then OT:=0 else OT:=sender.DataSet.fieldbyname('其他预付').asfloat; if sender.DataSet.fieldbyname('运费预付').IsNull then YF:=0 else YF:=sender.DataSet.fieldbyname('运费预付').asfloat; if sender.DataSet.fieldbyname('杂费预付').IsNull then ZF:=0 else ZF:=sender.DataSet.fieldbyname('杂费预付').asfloat; sender.DataSet.fieldbyname('合计预付').Asfloat:=OT+YF+ZF; end; end; procedure Tfrm_op_aire.DBEdit36KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit37); end; procedure Tfrm_op_aire.DBEdit37KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit72); end; procedure Tfrm_op_aire.t_op_aireAfterOpen(DataSet: TDataSet); begin dataset.FieldByName('计价重量').OnChange:=t_billfeecharge; dataset.FieldByName('运价').OnChange:=t_billfeecharge; dataset.FieldByName('其他预付').OnChange:=t_billfeedecharge; dataset.FieldByName('运费预付').OnChange:=t_billfeedecharge; dataset.FieldByName('杂费预付').OnChange:=t_billfeedecharge; dataset.FieldByName('其他到付').OnChange:=t_billfeededcharge; dataset.FieldByName('运费到付').OnChange:=t_billfeededcharge; dataset.FieldByName('杂费到付').OnChange:=t_billfeededcharge; dataset.FieldByName('其他金额1').OnChange:=t_billOTfeecharge; dataset.FieldByName('其他金额2').OnChange:=t_billOTfeecharge; dataset.FieldByName('其他金额3').OnChange:=t_billOTfeecharge; dataset.FieldByName('其他金额4').OnChange:=t_billOTfeecharge; dataset.FieldByName('其他金额5').OnChange:=t_billOTfeecharge; dataset.FieldByName('其他金额6').OnChange:=t_billOTfeecharge; dataset.FieldByName('其他金额7').OnChange:=t_billOTfeecharge; dataset.FieldByName('其他金额8').OnChange:=t_billOTfeecharge; dataset.FieldByName('杂费付款方式').OnChange:=t_billOTfeecharge; dataset.FieldByName('运费').OnChange:=t_billfeettlcharge; dataset.FieldByName('运费付款方式').OnChange:=t_billfeettlcharge; end; procedure Tfrm_op_aire.t_billfeededcharge(Sender: TField); var OT,YF,ZF:double; begin if sender.DataSet.State in [dsedit,dsinsert] then begin if sender.DataSet.fieldbyname('其他到付').IsNull then OT:=0 else OT:=sender.DataSet.fieldbyname('其他到付').asfloat; if sender.DataSet.fieldbyname('运费到付').IsNull then YF:=0 else YF:=sender.DataSet.fieldbyname('运费到付').asfloat; if sender.DataSet.fieldbyname('杂费到付').IsNull then ZF:=0 else ZF:=sender.DataSet.fieldbyname('杂费到付').asfloat; sender.DataSet.fieldbyname('合计到付').Asfloat:=OT+YF+ZF; end; end; procedure Tfrm_op_aire.RxDBLookupCombo11Change(Sender: TObject); begin if t_op_aire1.DataSet=nil then exit; if (t_op_aire1.DataSet.state=dsinsert)or(t_op_aire1.DataSet.state=dsedit)then begin if RxDBLookupCombo11.DisplayValue='' then exit; t_op_aire1.DataSet.fieldbyname('货物描述').asstring:=t_op_aire1.DataSet.fieldbyname('货物描述').asstring+#13#10+frm_data_share.t_code_goods['货物描述']; t_op_aire1.DataSet.fieldbyname('商品编码').asstring:=frm_data_share.t_code_goods['商品编码']; // if trim(t_op_seae2.DataSet.fieldbyname('货物描述').asstring)=''then // DBMemo39.Lines.Append(frm_data_share.t_code_goods['货物描述']); // TMemoField(t_op_seae2.Fieldbyname('货物描述')). // :=frm_data_share.t_code_goods['货物描述']; end; end; procedure Tfrm_op_aire.wwDBLookupCombo14Change(Sender: TObject); var aQuery:TAdoQuery; begin if (t_op_aire1.DataSet.State in [dsedit,dsinsert]) then begin aQuery:=CreateAdoQuery; try with aQuery do begin Close;SQL.Clear; SQL.Add('select 海关编码 from t_crm_client where 客户全称 like ''%'+wwDBLookupCombo14.Text+'%'' or 客户简称 like ''%'+wwDBLookupCombo14.Text+'%'''); Open; if not IsEmpty then begin if t_op_aire1.DataSet.FieldByName('单位代码').AsString='' then t_op_aire1.DataSet.FieldByName('单位代码').AsString:=fieldbyname('海关编码').AsString end; end; finally FreeAndNil(aQuery); end; end; end; procedure Tfrm_op_aire.DBEdit21KeyPress(Sender: TObject; var Key: Char); var aQuery:TAdoQuery; begin if (key=#13) and (t_op_aire1.DataSet.State in [dsedit,dsinsert]) and (t_op_aire1.DataSet.FieldByName('经营单位').AsString='') then begin aQuery:=CreateAdoQuery; try with aQuery do begin Close;SQL.Clear; SQL.Add('select 客户全称,客户简称 from t_crm_client where 海关编码='''+DBEdit21.Text+''''); Open; if not IsEmpty then begin if fieldbyname('客户全称').AsString<>'' then t_op_aire1.DataSet.FieldByName('经营单位').AsString:=fieldbyname('客户全称').AsString else t_op_aire1.DataSet.FieldByName('经营单位').AsString:=fieldbyname('客户简称').AsString; end; end; finally FreeAndNil(aQuery); end; end; end; procedure Tfrm_op_aire.t_billfeettlcharge(Sender: TField); begin if sender.DataSet.FieldByName('运费付款方式').AsString='' then exit; if sender.DataSet.FieldByName('运费').AsFloat=0 then exit; if sender.DataSet.FieldByName('运费付款方式').AsString='PP' then begin sender.DataSet.FieldByName('运费预付').AsFloat:=sender.DataSet.FieldByName('运费').AsFloat; sender.DataSet.FieldByName('运费到付').AsFloat:=0; end; if sender.DataSet.FieldByName('运费付款方式').AsString='CC' then begin sender.DataSet.FieldByName('运费预付').AsFloat:=0; sender.DataSet.FieldByName('运费到付').AsFloat:=sender.DataSet.FieldByName('运费').AsFloat; end; end; procedure Tfrm_op_aire.RxDBLookupCombo22KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo23); end; procedure Tfrm_op_aire.RxDBLookupCombo22Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo22); end; procedure Tfrm_op_aire.RxDBLookupCombo23Enter(Sender: TObject); begin RxLookupComboEnter(RxDBLookupCombo23); end; procedure Tfrm_op_aire.RxDBLookupCombo22Exit(Sender: TObject); begin RxLookupComboExit(RxDBLookupCombo22); end; procedure Tfrm_op_aire.RxDBLookupCombo23Exit(Sender: TObject); begin RxLookupComboExit(RxDBLookupCombo23); end; procedure Tfrm_op_aire.DBEdit38KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit39); end; procedure Tfrm_op_aire.DBEdit39KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit44); end; procedure Tfrm_op_aire.DBEdit44KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit45); end; procedure Tfrm_op_aire.DBEdit45KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit50); end; procedure Tfrm_op_aire.DBEdit50KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit51); end; procedure Tfrm_op_aire.DBEdit51KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit40); end; procedure Tfrm_op_aire.DBEdit40KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit41); end; procedure Tfrm_op_aire.DBEdit41KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit46); end; procedure Tfrm_op_aire.DBEdit46KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit47); end; procedure Tfrm_op_aire.DBEdit47KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit52); end; procedure Tfrm_op_aire.DBEdit52KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit53); end; procedure Tfrm_op_aire.DBEdit53KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit42); end; procedure Tfrm_op_aire.DBEdit42KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit43); end; procedure Tfrm_op_aire.DBEdit43KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit48); end; procedure Tfrm_op_aire.DBEdit48KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit49); end; procedure Tfrm_op_aire.DBEdit49KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit36); end; procedure Tfrm_op_aire.t_billOTfeecharge(Sender: TField); var s:WideString; begin if sender.DataSet.FieldByName('杂费付款方式').AsString='' then exit; if sender.DataSet.FieldByName('杂费付款方式').AsString='PP' then begin sender.DataSet.FieldByName('杂费到付').AsFloat:=0; sender.DataSet.FieldByName('杂费预付').AsFloat:=sender.DataSet.FieldByName('其他金额1').AsFloat+sender.DataSet.FieldByName('其他金额2').AsFloat +sender.DataSet.FieldByName('其他金额3').AsFloat+sender.DataSet.FieldByName('其他金额4').AsFloat+sender.DataSet.FieldByName('其他金额5').AsFloat +sender.DataSet.FieldByName('其他金额6').AsFloat+sender.DataSet.FieldByName('其他金额7').AsFloat+sender.DataSet.FieldByName('其他金额8').AsFloat; end; if sender.DataSet.FieldByName('杂费付款方式').AsString='CC' then begin sender.DataSet.FieldByName('杂费预付').AsFloat:=0; sender.DataSet.FieldByName('杂费到付').AsFloat:=sender.DataSet.FieldByName('其他金额1').AsFloat+sender.DataSet.FieldByName('其他金额2').AsFloat +sender.DataSet.FieldByName('其他金额3').AsFloat+sender.DataSet.FieldByName('其他金额4').AsFloat+sender.DataSet.FieldByName('其他金额5').AsFloat +sender.DataSet.FieldByName('其他金额6').AsFloat+sender.DataSet.FieldByName('其他金额7').AsFloat+sender.DataSet.FieldByName('其他金额8').AsFloat; end; if (sender.DataSet.FieldByName('其他金额1').AsFloat<>0) and (sender.DataSet.FieldByName('其他费用1').Asstring<>'') then S:=S+sender.DataSet.FieldByName('其他费用1').Asstring+':'+sender.DataSet.FieldByName('其他金额1').AsString+';'; if (sender.DataSet.FieldByName('其他金额2').AsFloat<>0) and (sender.DataSet.FieldByName('其他费用2').Asstring<>'') then S:=S+sender.DataSet.FieldByName('其他费用2').Asstring+':'+sender.DataSet.FieldByName('其他金额2').AsString+';'; if (sender.DataSet.FieldByName('其他金额3').AsFloat<>0) and (sender.DataSet.FieldByName('其他费用3').Asstring<>'') then S:=S+sender.DataSet.FieldByName('其他费用3').Asstring+':'+sender.DataSet.FieldByName('其他金额3').AsString+';'; if (sender.DataSet.FieldByName('其他金额4').AsFloat<>0) and (sender.DataSet.FieldByName('其他费用4').Asstring<>'') then S:=S+sender.DataSet.FieldByName('其他费用4').Asstring+':'+sender.DataSet.FieldByName('其他金额4').AsString+';'; if (sender.DataSet.FieldByName('其他金额5').AsFloat<>0) and (sender.DataSet.FieldByName('其他费用5').Asstring<>'') then S:=S+sender.DataSet.FieldByName('其他费用5').Asstring+':'+sender.DataSet.FieldByName('其他金额5').AsString+';'; if (sender.DataSet.FieldByName('其他金额6').AsFloat<>0) and (sender.DataSet.FieldByName('其他费用6').Asstring<>'') then S:=S+sender.DataSet.FieldByName('其他费用6').Asstring+':'+sender.DataSet.FieldByName('其他金额6').AsString+';'; if (sender.DataSet.FieldByName('其他金额7').AsFloat<>0) and (sender.DataSet.FieldByName('其他费用7').Asstring<>'') then S:=S+sender.DataSet.FieldByName('其他费用7').Asstring+':'+sender.DataSet.FieldByName('其他金额7').AsString+';'; if (sender.DataSet.FieldByName('其他金额8').AsFloat<>0) and (sender.DataSet.FieldByName('其他费用8').Asstring<>'') then S:=S+sender.DataSet.FieldByName('其他费用8').Asstring+':'+sender.DataSet.FieldByName('其他金额8').AsString+';'; sender.DataSet.FieldByName('其他费用').Asstring:=S; end; procedure Tfrm_op_aire.setconcolor; procedure consetcolor(fielname:String); var i:integer; scolor:string; begin scolor:=get_parameters_value(144,'clInfoBk'); with bsSkinTabSheet1 do begin for i:=0 to ControlCount-1 do begin if Controls[i] is TwwDBComboBox then begin if TwwDBComboBox(Controls[i]).DataField=fielname then begin TwwDBComboBox(Controls[i]).Color:=StringToColor(scolor); exit; end; end else if Controls[i] is TwwDBLookupCombo then begin if TwwDBLookupCombo(Controls[i]).DataField=fielname then begin TwwDBLookupCombo(Controls[i]).Color:=StringToColor(scolor); exit; end; end else if Controls[i] is TDBEdit then begin if TDBEdit(Controls[i]).DataField=fielname then begin TDBEdit(Controls[i]).Color:=StringToColor(scolor); exit; end; end else if Controls[i] is TwwDBDateTimePicker then begin if TwwDBDateTimePicker(Controls[i]).DataField=fielname then begin TwwDBDateTimePicker(Controls[i]).Color:=StringToColor(scolor); exit; end; end else if Controls[i] is TDBMemo then begin if TDBMemo(Controls[i]).DataField=fielname then begin TDBMemo(Controls[i]).Color:=StringToColor(scolor); exit; end; end else if Controls[i] is TRxDBLookupCombo then begin if TRxDBLookupCombo(Controls[i]).DataField=fielname then begin TRxDBLookupCombo(Controls[i]).Color:=StringToColor(scolor); exit; end; end; end; end; with bsSkinPanel1 do begin for i:=0 to ControlCount-1 do begin if Controls[i] is TDBEdit then begin if TDBEdit(Controls[i]).DataField=fielname then begin TDBEdit(Controls[i]).Color:=StringToColor(scolor); exit; end; end else if Controls[i] is TRxDBLookupCombo then begin if TRxDBLookupCombo(Controls[i]).DataField=fielname then begin TRxDBLookupCombo(Controls[i]).Color:=StringToColor(scolor); exit; end; end; end; end; end; begin frm_data_share.t_code_empty.Filtered:=false; frm_data_share.t_code_empty.Filter:='表=''t_op_aire'''; frm_data_share.t_code_empty.Filtered:=true; frm_data_share.t_code_empty.First; while not frm_data_share.t_code_empty.Eof do begin if (frm_data_share.t_code_empty.fieldbyname('字段名称').asstring='分提单号') or (frm_data_share.t_code_empty.fieldbyname('字段名称').asstring='分提单号') then begin if t_op_aire1.DataSet.FindField('装运方式')<>nil then begin if pos('主票',t_op_aire1.DataSet.FieldByName('装运方式').asstring)>0 then begin end else begin consetcolor(frm_data_share.t_code_empty.fieldbyname('字段名称').asstring); end; end else begin consetcolor(frm_data_share.t_code_empty.fieldbyname('字段名称').asstring); end; end else begin consetcolor(frm_data_share.t_code_empty.fieldbyname('字段名称').asstring); end; frm_data_share.t_code_empty.next; end; end; procedure Tfrm_op_aire.Notebook1PageChanged(Sender: TObject); begin setconcolor; end; procedure Tfrm_op_aire.DBEdit7DblClick(Sender: TObject); begin with frm_data_share.P_GetMaxHblno do begin close; Parameters.ParamByName('@hblhead').value:=DBEdit7.text+'%'; open; if (not IsEmpty) and (FieldByName('分提单号').AsString<>'') then begin lblhbl.Caption:=FieldByName('分提单号').AsString; bsSkinPanel10.Visible:=true; end; end; end; procedure Tfrm_op_aire.DBEdit7Exit(Sender: TObject); begin bsSkinPanel10.Visible:=false; end; procedure Tfrm_op_aire.wwDBLookupCombo15Change(Sender: TObject); begin if (t_op_aire1.DataSet.state=dsinsert)or(t_op_aire1.DataSet.state=dsedit)then begin if wwDBLookupCombo15.text='' then exit; if frm_data_share.t_code_port_air.locate('代码',wwDBLookupCombo15.text,[]) then begin t_op_aire1.DataSet['目的港']:=frm_data_share.t_code_port_air['英文名']; t_op_aire1.DataSet['目的港国家']:=frm_data_share.t_code_port_air['国家']; end else begin t_op_aire1.DataSet['目的港']:=''; t_op_aire1.DataSet['目的港国家']:=''; end; end; end; procedure Tfrm_op_aire.wwDBLookupCombo15KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit10); end; procedure Tfrm_op_aire.DBEdit54KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo2); end; procedure Tfrm_op_aire.DBEdit7KeyPress(Sender: TObject; var Key: Char); begin key_DBEdit(Key,DBEdit54); end; procedure Tfrm_op_aire.bsSkinSpeedButton1Click(Sender: TObject); begin if t_op_aire1.DataSet.FieldByName('委托编号').IsNull or (t_op_aire1.DataSet['委托编号']='') then begin t_op_aire1.DataSet.edit; if Trim(frm_data_share.t_sys_noset.fieldbyname('日期规则').Asstring)='会计期间' then t_op_aire1.DataSet['委托编号']:=getwtno(3,subComp,department,employee,t_op_aire1.DataSet['会计期间']) else t_op_aire1.DataSet['委托编号']:=getwtno(3,subComp,department,employee,t_op_aire1.DataSet['一程开航日期']); end; end; procedure Tfrm_op_aire.DBEdit8DblClick(Sender: TObject); begin with frm_data_share.P_GetMaxWTno do begin close; Parameters.ParamByName('@hblhead').value:=DBEdit8.text+'%'; open; if (not IsEmpty) and (FieldByName('委托编号').AsString<>'') then begin lblwt.Caption:=FieldByName('委托编号').AsString; bsSkinPanel4.Visible:=true; end; end; end; procedure Tfrm_op_aire.DBEdit54DblClick(Sender: TObject); begin with frm_data_share.P_GetMaxDCno do begin close; Parameters.ParamByName('@hblhead').value:=DBEdit54.text+'%'; open; if (not IsEmpty) and (FieldByName('订舱单号').AsString<>'') then begin lbldc.Caption:=FieldByName('订舱单号').AsString; bsSkinPanel12.Visible:=true; end; end; end; procedure Tfrm_op_aire.DBEdit8Exit(Sender: TObject); begin bsSkinPanel4.Visible:=false; end; procedure Tfrm_op_aire.DBEdit54Exit(Sender: TObject); begin bsSkinPanel12.Visible:=false; end; procedure Tfrm_op_aire.bsSkinButton31Click(Sender: TObject); var Pnt:Tpoint; begin Pnt:=bsSkinButton31.ClientToScreen(Point(0,bsSkinButton31.Height)); PopupMenu5.Popup(Pnt.x,Pnt.y); end; procedure Tfrm_op_aire.wwDBComboBox1DropDown(Sender: TObject); var aQuery:TAdoQuery; begin wwDBComboBox1.Items.Clear; if t_op_aire1.DataSet.FieldByName('业务来源').AsString='' then begin exit; end; aQuery:=CreateAdoQuery; try with aQuery do begin close;sql.Clear; sql.Add('select 来源明细 from t_code_source_dl where 业务来源='''+t_op_aire1.DataSet.FieldByName('业务来源').AsString+''' order by 来源明细 '); open; first; while not eof do begin wwDBComboBox1.Items.Add(FieldByName('来源明细').AsString); next; end; end; finally FreeAndNil(aQuery); end; end; procedure Tfrm_op_aire.RxDBLookupCombo31Change(Sender: TObject); begin t_op_aire1.DataSet.FieldByName('来源明细').AsString:=''; end; procedure Tfrm_op_aire.wwDBComboBox1KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo8); end; procedure Tfrm_op_aire.EXCEL1Click(Sender: TObject); begin if t_op_aire1.DataSet=nil then exit; if t_op_aire1.DataSet.IsEmpty then exit; if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit) then t_op_aire1.DataSet.post; try frm_op_seae_excel:=tfrm_op_seae_excel.Create (self); frm_op_seae_excel.tradetype:='AIR'; frm_op_seae_excel.ShowModal; finally frm_op_seae_excel.Free; end; end; procedure Tfrm_op_aire.RxDBLookupCombo9Change(Sender: TObject); begin if (t_op_aire1.DataSet.State=dsinsert)or(t_op_aire1.DataSet.State=dsedit)then begin if RxDBLookupCombo9.DisplayValue<>'' then t_op_aire1.DataSet['航空公司']:=frm_data_share.t_crm_client_hangkong.fieldbyname('客户简称').asstring; end; end; procedure Tfrm_op_aire.N55Click(Sender: TObject); var can_do:boolean; gdo,xdo:smallint; begin if t_op_aire1.DataSet=nil then exit; if t_op_aire1.DataSet.IsEmpty then exit; if not do_data('0003',t_op_aire1.DataSet.FieldByName('录入人').asstring ,t_op_aire1.DataSet.FieldByName('操作员').asstring ,t_op_aire1.DataSet.FieldByName('揽货人').asstring ,t_op_aire1.DataSet.FieldByName('客服员').asstring ,'' ,'') then begin showmessage('对不起你无权修改此数据!'); abort; end; if t_op_aire1.DataSet.FieldByName('费用状态').asstring='费用封帐' then begin showmessage('此票业务状态已经为费用封帐状态!'); abort; end; t_ch_fee.close; t_ch_fee.Parameters[0].value:=t_op_aire1.DataSet.fieldbyname('编号').asstring; t_ch_fee.open; can_do:=true; t_ch_fee.first; while not t_ch_fee.eof do begin if can_do then begin if (t_ch_fee.FieldByName('费用状态').asstring<>'审核通过') and (t_ch_fee.FieldByName('费用状态').asstring<>'部分结算') and (t_ch_fee.FieldByName('费用状态').asstring<>'结算完毕') and (t_ch_fee.FieldByName('费用状态').asstring<>'禁止删除') and (t_ch_fee.FieldByName('费用状态').asstring<>'禁止修改')then begin can_do:=false; showmessage('此票业务中的费用状态,不能费用封帐!'); exit; end; end; t_ch_fee.next; end; gdo:=strtoint(get_parameters_value(137,'0')); xdo:=strtoint(get_parameters_value(138,'0')); t_ch_fee.close; if can_do then begin prnlist:=true; try t_op_aire1.DataSet.edit; t_op_aire1.DataSet['费用状态']:='费用封帐'; t_op_aire1.DataSet['费用封帐日期']:=Now; if (gdo<>0) or (xdo<>0) then begin if trim(t_op_aire1.DataSet.fieldbyname('业务类型').AsString)='普通货' then begin if gdo=1 then begin if t_op_aire1.DataSet['一程开航日期']>Logininfo.endday then t_op_aire1.DataSet['会计期间']:=t_op_aire1.DataSet['一程开航日期']; end; end else if trim(t_op_aire1.DataSet.fieldbyname('业务类型').asstring)='更改单' then begin if xdo=1 then begin if t_op_aire1.DataSet['录入日期']>Logininfo.endday then t_op_aire1.DataSet['会计期间']:=t_op_aire1.DataSet['录入日期']; end; end; end; t_op_aire1.DataSet.post; finally prnlist:=false; end; end; end; procedure Tfrm_op_aire.N56Click(Sender: TObject); begin sys_print('空运出口单证',2,t_op_aire1,nil,nil,nil,t_op_aire_fen1,nil,nil,nil,nil,nil,nil); end; procedure Tfrm_op_aire.N58Click(Sender: TObject); var str:widestring; i:integer; begin if t_op_aire_fen.IsEmpty then exit; if dxDBGrid2.SelectedCount<1 then begin showmessage('请选择要打印的业务帐单!!'); exit; end; try t_op_aire_fen.DisableControls; for i:=0 to dxDBGrid2.SelectedCount-1 do begin t_op_aire_fen.GotoBookmark(pointer(dxDBGrid2.selectedrows[i])); if str='' then str:=''''+t_op_aire_fen.fieldbyname('编号').AsString+'''' else str:=str+','+''''+t_op_aire_fen.fieldbyname('编号').AsString+''''; end; str:='('+str+')'; str:='select * from t_op_aire where 编号 in '+str+' order by 业务编号'; t_ch_client.close; t_ch_client.sql.text:=str; t_ch_client.open; finally t_op_aire_fen.EnableControls; end; sys_print('空运出口单证',2,t_op_aire1,nil,nil,nil,t_ch_client1,nil,nil,nil,nil,nil,nil); end; procedure Tfrm_op_aire.t_op_aire_fenAfterPost(DataSet: TDataSet); var aQuery:TAdoQuery; pkgs,kgs,cbm:double; bsno:string; begin { bsno:=dataSet.fieldbyname('编号').asstring; aQuery:=CreateAdoQuery; try with aQuery do begin Close;SQL.Clear; sql.Add('select sum(件数) as 件数,sum(重量) as 重量,sum(尺码) as 尺码 from t_op_aire where 装运方式=''空运分票'' and 主编号='''+Dataset.fieldbyname('主编号').AsString+''''); open; pkgs:=fieldbyname('件数').AsFloat; kgs:=fieldbyname('重量').AsFloat; cbm:=fieldbyname('尺码').AsFloat; if not IsEmpty then begin close;sql.clear; sql.Add('update t_op_aire set 件数='+floattostr(pkgs)+',重量='+floattostr(kgs)+',尺码='+floattostr(cbm)+' where 编号='''+Dataset.fieldbyname('主编号').AsString+''''); ExecSQL; t_op_aire.Refresh; end; end; finally FreeAndNil(aQuery); dataset.Locate('编号',bsno,[]); end; } end; procedure Tfrm_op_aire.RxDBLookupCombo16KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo6); end; procedure Tfrm_op_aire.wwDBLookupCombo6KeyPress(Sender: TObject; var Key: Char); begin key_DBMemo(Key,DBMemo3); end; procedure Tfrm_op_aire.RxDBLookupCombo17KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo7); end; procedure Tfrm_op_aire.RxDBLookupCombo18KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo8); end; procedure Tfrm_op_aire.RxDBLookupCombo19KeyPress(Sender: TObject; var Key: Char); begin key_wwDBLookupCombo(Key,wwDBLookupCombo9); end; procedure Tfrm_op_aire.wwDBLookupCombo7KeyPress(Sender: TObject; var Key: Char); begin key_DBMemo(Key,DBMemo4); end; procedure Tfrm_op_aire.wwDBLookupCombo8KeyPress(Sender: TObject; var Key: Char); begin key_DBMemo(Key,DBMemo5); end; procedure Tfrm_op_aire.wwDBLookupCombo9KeyPress(Sender: TObject; var Key: Char); begin key_DBMemo(Key,DBMemo6); end; procedure Tfrm_op_aire.wwDBLookupCombo13KeyPress(Sender: TObject; var Key: Char); begin key_DBMemo(Key,DBMemo1); end; procedure Tfrm_op_aire.wwDBLookupCombo10KeyPress(Sender: TObject; var Key: Char); begin key_DBMemo(Key,DBMemo33); end; procedure Tfrm_op_aire.wwDBLookupCombo11KeyPress(Sender: TObject; var Key: Char); begin key_DBMemo(Key,DBMemo34); end; procedure Tfrm_op_aire.wwDBLookupCombo12KeyPress(Sender: TObject; var Key: Char); begin key_DBMemo(Key,DBMemo35); end; procedure Tfrm_op_aire.wwDBComboBox4KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo31); end; procedure Tfrm_op_aire.bsSkinButton14Click(Sender: TObject); begin if not (if_open('297') or if_open('298')) then begin showmessage('对不起,你无权操作费用!!'); exit; end; if not assigned(frm_ch_fee_zhupiao) then frm_ch_fee_zhupiao:=tfrm_ch_fee_zhupiao.Create (self); frm_ch_fee_zhupiao.fra_fee_zhu1.fenpiao1.DataSet:=t_op_aire_fen; with frm_ch_fee_zhupiao do begin if if_open('297') then begin fra_fee_zhu1.t_ch_accept.close; fra_fee_zhu1.t_ch_accept.Parameters[1].value:=t_op_aire.fieldbyname('编号').asstring; fra_fee_zhu1.t_ch_accept.open; fra_fee_zhu1.zhupiao1.DataSet:=t_op_aire; fra_fee_zhu1.dxDBGrid1.FullExpand; fra_fee_zhu1.bsSkinPanel3.visible:=true; end else fra_fee_zhu1.bsSkinPanel3.visible:=false; if if_open('298') then begin fra_fee_zhu1.t_ch_pay.close; fra_fee_zhu1.t_ch_pay.Parameters[1].value:=t_op_aire.fieldbyname('编号').asstring; fra_fee_zhu1.t_ch_pay.open; fra_fee_zhu1.zhupiao1.DataSet:=t_op_aire; fra_fee_zhu1.dxDBGrid2.FullExpand; fra_fee_zhu1.bsSkinPanel4.visible:=true; end else fra_fee_zhu1.bsSkinPanel4.visible:=false; if fra_fee_zhu1.bsSkinPanel3.visible and fra_fee_zhu1.bsSkinPanel4.visible then begin fra_fee_zhu1.t_op_gain.close; fra_fee_zhu1.t_op_gain.Parameters[1].value:=t_op_aire.fieldbyname('编号').asstring; fra_fee_zhu1.t_op_gain.open; fra_fee_zhu1.t_op_gain_fen.close; fra_fee_zhu1.t_op_gain_fen.Parameters[1].value:=t_op_aire.fieldbyname('编号').asstring; fra_fee_zhu1.t_op_gain_fen.open; end else begin fra_fee_zhu1.t_op_gain.close; fra_fee_zhu1.t_op_gain_fen.close; fra_fee_zhu1.bsSkinTabSheet2.TabVisible:=false; end; fra_fee_zhu1.dxDBGrid3.FullExpand; end; frm_ch_fee_zhupiao.ShowModal; end; procedure Tfrm_op_aire.bsSkinButton45Click(Sender: TObject); var tempstr:widestring; begin if airepsqlstr<>'' then begin tempstr:=airepsqlstr; t_op_aire.close; if t_op_aire.sql.Text<>'' then airepsqlstr:=t_op_aire.sql.Text; t_op_aire.sql.clear; t_op_aire.sql.add(tempstr); t_op_aire.Open; end; end; procedure Tfrm_op_aire.N60Click(Sender: TObject); begin if t_op_aire1.dataset.state in [dsedit,dsinsert] then t_op_aire1.dataset.post; if t_op_aire1.dataset.IsEmpty then exit; t_op_aire1.DataSet.Edit; t_op_aire1.DataSet.FieldByName('委托编号').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('委托编号').AsString); t_op_aire1.DataSet.FieldByName('主运单号').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('主运单号').AsString); t_op_aire1.DataSet.FieldByName('分运单号').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('分运单号').AsString); t_op_aire1.DataSet.FieldByName('订舱单号').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('订舱单号').AsString); t_op_aire1.DataSet.FieldByName('发货人代码').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('发货人代码').AsString); t_op_aire1.DataSet.FieldByName('收货人代码').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('收货人代码').AsString); t_op_aire1.DataSet.FieldByName('通知人代码').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('通知人代码').AsString); t_op_aire1.DataSet.FieldByName('代理内容').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('代理内容').AsString); t_op_aire1.DataSet.FieldByName('唛头').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('唛头').AsString); t_op_aire1.DataSet.FieldByName('备注').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('备注').AsString); t_op_aire1.DataSet.FieldByName('一程航班').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('一程航班').AsString); t_op_aire1.DataSet.FieldByName('货物描述').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('货物描述').AsString); t_op_aire1.DataSet.FieldByName('一程目的港').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('一程目的港').AsString); t_op_aire1.DataSet.FieldByName('始发港').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('始发港').AsString); t_op_aire1.DataSet.FieldByName('目的港').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('目的港').AsString); t_op_aire1.DataSet.FieldByName('签单地点').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('签单地点').AsString); t_op_aire1.DataSet.FieldByName('始发港国家').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('始发港国家').AsString); t_op_aire1.DataSet.FieldByName('目的港国家').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('目的港国家').AsString); t_op_aire1.DataSet.FieldByName('目的港代码').AsString:=UpperCase(t_op_aire1.DataSet.FieldByName('目的港代码').AsString); t_op_aire1.DataSet.post; end; procedure Tfrm_op_aire.bsSkinButton48Click(Sender: TObject); var FileStream:TFileStream; fsize:double; begin op_befor_post(t_op_aire,'0003'); if OpenDialog1.Execute then begin FileStream:=TFileStream.Create(Opendialog1.FileName,fmopenRead); //打开文件 try fsize:=FileStream.size; finally freeandnil(FileStream); end; if fsize>500000 then begin MessageDlg('文件不能超过500K!!',mtWarning,[mbyes],0); end else UpLoadPro(Opendialog1.FileName); end else exit ; end; procedure Tfrm_op_aire.bsSkinButton49Click(Sender: TObject); begin if SaveDialog1.Execute then begin DownLoadPro(Savedialog1.FileName+t_op_file.fieldbyname('类型').asstring); end else exit ; end; procedure Tfrm_op_aire.bsSkinButton50Click(Sender: TObject); var arr: array[0..MAX_PATH] of Char; num: DWORD; tmpfile:string ; begin try GetTempPath(MAX_PATH, arr); tmpfile:=arr+t_op_file.fieldbyname('名称').asstring ; DownLoadPro(tmpfile) ; ShellExecute(Handle, nil, pchar(tmpfile), nil, nil, SW_NORMAL); except showmessage('不能打开文件,请检查网络连接等错误!'); end ; end; procedure Tfrm_op_aire.bsSkinButton51Click(Sender: TObject); begin op_befor_post(t_op_aire,'0003'); if application.MessageBox('您确定要删除附件吗?','警告:',MB_OKCANCEL)=IDOK then t_op_file.delete ; end; procedure Tfrm_op_aire.t_op_fileBeforeEdit(DataSet: TDataSet); begin op_befor_post(t_op_aire,'0003'); end; procedure Tfrm_op_aire.DownLoadPro(fname: string); const MaxBufSize=$F000; var myfilename:string;//保存文件的路径和文件名 myfileStream,exeBlobStream:TStream; Count,BufSize,N: Integer; Buffer:PChar; begin if not ASSIGNED(frm_sys_progress) then frm_sys_progress:=tfrm_sys_progress.Create(self); frm_sys_progress.bsSkinGauge1.ProgressText:='加载数据请等候。。。'; frm_sys_progress.Show; frm_sys_progress.Update; myfilename:=FName ; with t_op_file do begin myfilename:=myfilename ; //+fieldbyname('类型').asstring ; myfileStream :=TFileStream.Create(myfilename,fmCreate);//创建文件 try //SaveToStream(Stream); ExeBlobStream:=CreateBlobStream(FieldByName('内容'),bmRead); //从数据库中取得记录 Count:=0; try if Count=0 then begin ExeBlobStream.Position:=0; Count:=ExeBlobStream.Size;//showmessage(inttostr(count)); end; if Count>MaxBufSize then BufSize:=MaxBufSize else BufSize:=Count; GetMem(Buffer,BufSize); frm_sys_progress.bsSkinGauge1.MaxValue:=(Count div BufSize)+2; frm_sys_progress.bsSkinGauge1.MinValue:=0; frm_sys_progress.bsSkinGauge1.Value:=0; try while Count<>0 do begin if Count>BufSize then N:=BufSize else N:=Count; ExeBlobStream.ReadBuffer(Buffer^,N);//从数据库表中取数据流 MyFileStream.WriteBuffer(Buffer^,N);//将数据流写入文件 Dec(Count,N); frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; end; finally FreeMem(Buffer,BufSize); end; finally ExeBlobStream.Free; end; finally myfileStream.Free; end; end; frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_sys_progress.close; frm_sys_progress:=nil; end; procedure Tfrm_op_aire.UpLoadPro(fname: string); const BufSize=$F000; var Counter, N: Integer; Buffer: PAnsiChar; FieldStrm: TStream; ExeFileStream:TFileStream; size_tmp: Double; filename,fileExt:string ; begin if not ASSIGNED(frm_sys_progress) then frm_sys_progress:=tfrm_sys_progress.Create(self); frm_sys_progress.bsSkinGauge1.ProgressText:='加载数据请等候。。。'; frm_sys_progress.Show; frm_sys_progress.Update; filename:=ExtractFileName(fname) ; fileExt:=ExtractFileExt(filename) ; ExeFileStream:=TFileStream.Create(fname,fmopenRead); //打开文件 with t_op_file do begin Open; append; try FieldStrm := CreateBlobStream(FieldByName('内容'),bmWrite); GetMem(Buffer,BufSize); try Counter := ExeFileStream.Size; size_tmp :=ExeFileStream.Size; frm_sys_progress.bsSkinGauge1.MaxValue:=(Counter div BufSize)+2; frm_sys_progress.bsSkinGauge1.MinValue:=0; frm_sys_progress.bsSkinGauge1.Value:=0; while Counter<>0 do begin if Counter>BufSize then N :=BufSize else N:=Counter; ExeFileStream.ReadBuffer(Buffer^,N); FieldStrm.WriteBuffer(Buffer^, N); Dec(Counter, N); frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; // Application.ProcessMessages; end; finally FreeMem(Buffer,BufSize); FieldStrm.Free; end; FieldByName('名称').AsString:=filename; FieldByName('大小').AsFloat:=size_tmp; FieldByName('上传日期').AsDateTime:=now(); FieldByName('所有者').Asstring:=employee; FieldByName('类型').Asstring:=fileExt; Post; Application.MessageBox('程序上传至服务器成功!','提示',MB_OK+MB_IconInformation); finally frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1; frm_sys_progress.close; frm_sys_progress:=nil; ExeFileStream.Free; end; end; end; end.