unit u_op_seae_tuishui; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Mask, wwdbedit, Wwdotdot, Wwdbcomb, wwdblook, RxLookup, wwdbdatetimepicker, StdCtrls, bsSkinCtrls, ExtCtrls, DB, ADODB, dxExEdtr, dxDBTLCl, dxGrClms, dxDBGrid, dxTL, dxDBCtrl, dxCntner, Menus, XPMenu; type Tfrm_op_seae_tuishui = class(TForm) Panel2: TPanel; Panel3: TPanel; bsSkinButton10: TbsSkinButton; bsSkinButton6: TbsSkinButton; bsSkinButton9: TbsSkinButton; bsSkinButton5: TbsSkinButton; bsSkinPanel1: TbsSkinPanel; Label6: TLabel; Label3: TLabel; Label1: TLabel; Label2: TLabel; Label10: TLabel; Label5: TLabel; Label9: TLabel; Label8: TLabel; Label11: TLabel; Label30: TLabel; Label125: TLabel; Label124: TLabel; Label7: TLabel; Edit1: TEdit; Edit4: TEdit; Edit2: TEdit; Edit3: TEdit; wwDBDateTimePicker1: TwwDBDateTimePicker; wwDBDateTimePicker2: TwwDBDateTimePicker; RxDBLookupCombo2: TRxDBLookupCombo; wwDBDateTimePicker3: TwwDBDateTimePicker; wwDBDateTimePicker4: TwwDBDateTimePicker; Edit7: TEdit; wwDBLookupCombo49: TwwDBLookupCombo; wwDBLookupCombo52: TwwDBLookupCombo; wwDBComboBox1: TwwDBComboBox; t_op_seae: TADOQuery; t_op_seae1: TDataSource; dxDBGrid1: TdxDBGrid; dxDBGrid1Column1: TdxDBGridMaskColumn; dxDBGrid1Column2: TdxDBGridMaskColumn; dxDBGrid1Column3: TdxDBGridMaskColumn; dxDBGrid1Column4: TdxDBGridMaskColumn; dxDBGrid1Column5: TdxDBGridMaskColumn; dxDBGrid1Column6: TdxDBGridMaskColumn; dxDBGrid1Column7: TdxDBGridMaskColumn; dxDBGrid1Column8: TdxDBGridMaskColumn; dxDBGrid1Column78: TdxDBGridColumn; dxDBGrid1Column9: TdxDBGridMaskColumn; dxDBGrid1Column10: TdxDBGridMaskColumn; dxDBGrid1Column11: TdxDBGridMaskColumn; dxDBGrid1Column12: TdxDBGridMaskColumn; dxDBGrid1Column13: TdxDBGridMaskColumn; dxDBGrid1Column14: TdxDBGridMaskColumn; dxDBGrid1Column15: TdxDBGridMaskColumn; dxDBGrid1Column16: TdxDBGridDateColumn; dxDBGrid1Column17: TdxDBGridDateColumn; dxDBGrid1Column18: TdxDBGridDateColumn; dxDBGrid1Column19: TdxDBGridMaskColumn; dxDBGrid1Column20: TdxDBGridMaskColumn; dxDBGrid1Column22: TdxDBGridDateColumn; dxDBGrid1Column23: TdxDBGridMaskColumn; dxDBGrid1Column24: TdxDBGridMaskColumn; dxDBGrid1Column25: TdxDBGridMaskColumn; dxDBGrid1Column26: TdxDBGridMaskColumn; dxDBGrid1Column27: TdxDBGridMaskColumn; dxDBGrid1Column28: TdxDBGridMaskColumn; dxDBGrid1Column29: TdxDBGridMaskColumn; dxDBGrid1Column30: TdxDBGridMaskColumn; dxDBGrid1Column31: TdxDBGridDateColumn; dxDBGrid1Column32: TdxDBGridMaskColumn; dxDBGrid1Column33: TdxDBGridMaskColumn; dxDBGrid1Column34: TdxDBGridMaskColumn; dxDBGrid1Column35: TdxDBGridMaskColumn; dxDBGrid1Column36: TdxDBGridMaskColumn; dxDBGrid1Column37: TdxDBGridMaskColumn; dxDBGrid1Column38: TdxDBGridMaskColumn; dxDBGrid1Column39: TdxDBGridColumn; dxDBGrid1Column40: TdxDBGridColumn; dxDBGrid11: TdxDBGridMaskColumn; dxDBGrid12: TdxDBGridMaskColumn; dxDBGrid13: TdxDBGridMaskColumn; dxDBGrid14: TdxDBGridMaskColumn; dxDBGrid15: TdxDBGridMaskColumn; dxDBGrid16: TdxDBGridMaskColumn; dxDBGrid17: TdxDBGridMaskColumn; dxDBGrid18: TdxDBGridMaskColumn; dxDBGrid19: TdxDBGridMaskColumn; dxDBGrid110: TdxDBGridMaskColumn; dxDBGrid111: TdxDBGridMaskColumn; dxDBGrid112: TdxDBGridMaskColumn; dxDBGrid113: TdxDBGridMaskColumn; dxDBGrid114: TdxDBGridMaskColumn; dxDBGrid115: TdxDBGridMaskColumn; dxDBGrid116: TdxDBGridMaskColumn; dxDBGrid117: TdxDBGridMaskColumn; dxDBGrid118: TdxDBGridMaskColumn; dxDBGrid119: TdxDBGridMaskColumn; dxDBGrid120: TdxDBGridMaskColumn; dxDBGrid1Column61: TdxDBGridMaskColumn; dxDBGrid1TEU: TdxDBGridMaskColumn; dxDBGrid1Column63: TdxDBGridMaskColumn; dxDBGrid1Column64: TdxDBGridMaskColumn; dxDBGrid1Column65: TdxDBGridDateColumn; dxDBGrid1Column66: TdxDBGridMaskColumn; dxDBGrid1Column67: TdxDBGridMaskColumn; dxDBGrid1Column72: TdxDBGridMaskColumn; dxDBGrid1Column68: TdxDBGridMaskColumn; dxDBGrid1Column69: TdxDBGridMaskColumn; dxDBGrid1Column70: TdxDBGridMaskColumn; dxDBGrid1Column74: TdxDBGridMaskColumn; dxDBGrid1Column75: TdxDBGridMaskColumn; dxDBGrid1Column73: TdxDBGridColumn; dxDBGrid1Column76: TdxDBGridColumn; dxDBGrid1Column77: TdxDBGridCheckColumn; dxDBGrid1Column79: TdxDBGridColumn; dxDBGrid1Column80: TdxDBGridColumn; dxDBGrid1Column81: TdxDBGridColumn; dxDBGrid1Column82: TdxDBGridCheckColumn; dxDBGrid1Column83: TdxDBGridColumn; dxDBGrid1Column84: TdxDBGridCheckColumn; dxDBGrid1Column85: TdxDBGridColumn; dxDBGrid1Column86: TdxDBGridCheckColumn; dxDBGrid1Column87: TdxDBGridCheckColumn; dxDBGrid1Column88: TdxDBGridColumn; Label4: TLabel; wwDBDateTimePicker5: TwwDBDateTimePicker; Label12: TLabel; wwDBDateTimePicker6: TwwDBDateTimePicker; bsSkinButton13: TbsSkinButton; bsSkinButton1: TbsSkinButton; PopupMenu2: TPopupMenu; N10: TMenuItem; N11: TMenuItem; N14: TMenuItem; N13: TMenuItem; N12: TMenuItem; N15: TMenuItem; N16: TMenuItem; XPMenu1: TXPMenu; Label13: TLabel; wwDBComboBox2: TwwDBComboBox; Label14: TLabel; wwDBDateTimePicker7: TwwDBDateTimePicker; Label15: TLabel; wwDBDateTimePicker8: TwwDBDateTimePicker; Label16: TLabel; Edit5: TEdit; ListBoxNos: TListBox; dxDBGrid1Column89: TdxDBGridColumn; bsSkinButton2: TbsSkinButton; bsSkinButton3: TbsSkinButton; dxDBGrid1Column90: TdxDBGridCheckColumn; dxDBGrid1Column91: TdxDBGridColumn; Label17: TLabel; Edit6: TEdit; dxDBGrid1Column92: TdxDBGridColumn; dxDBGrid1Column93: TdxDBGridColumn; dxDBGrid1Column94: TdxDBGridColumn; dxDBGrid1Column95: TdxDBGridColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure bsSkinButton5Click(Sender: TObject); procedure bsSkinButton10Click(Sender: TObject); procedure bsSkinButton6Click(Sender: TObject); procedure dxDBGrid1ColumnSorting(Sender: TObject; Column: TdxDBTreeListColumn; var Allow: Boolean); procedure N10Click(Sender: TObject); procedure N14Click(Sender: TObject); procedure N12Click(Sender: TObject); procedure N16Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure bsSkinButton9Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure bsSkinButton13Click(Sender: TObject); procedure bsSkinButton1Click(Sender: TObject); procedure Edit5Enter(Sender: TObject); procedure Edit5Exit(Sender: TObject); procedure Edit5KeyPress(Sender: TObject; var Key: Char); procedure bsSkinButton2Click(Sender: TObject); procedure bsSkinButton3Click(Sender: TObject); procedure Edit6Enter(Sender: TObject); procedure Edit6Exit(Sender: TObject); procedure Edit6KeyPress(Sender: TObject; var Key: Char); private FHblNo,FhxNo:TStrings; { Private declarations } public { Public declarations } end; var frm_op_seae_tuishui: Tfrm_op_seae_tuishui; implementation uses u_main, my_sys_function, my_sys_chat; {$R *.dfm} procedure Tfrm_op_seae_tuishui.FormClose(Sender: TObject; var Action: TCloseAction); begin FreeAndNil(FHblNo); FreeAndNil(FhxNo); savereggrid(dxdbgrid1,caption); frm_op_seae_tuishui.Hide; frm_op_seae_tuishui.ManualFloat(frm_op_seae_tuishui.BoundsRect ); frm_main.freeTabs('frm_op_seae_tuishui'); action:=cafree; frm_op_seae_tuishui:=nil; end; procedure Tfrm_op_seae_tuishui.bsSkinButton5Click(Sender: TObject); begin close; end; procedure Tfrm_op_seae_tuishui.bsSkinButton10Click(Sender: TObject); var str,S3:widestring; i:integer; begin if (wwDBDateTimePicker5.text<>'')or(wwDBDateTimePicker6.text<>'') then begin str:='where 是否退税=1 '; if wwDBDateTimePicker5.text<>'' then str:=str+' and 退税日期>='+''''+wwDBDateTimePicker5.text+''''; if wwDBDateTimePicker6.text<>'' then str:=str+' and 退税日期<='+''''+wwDBDateTimePicker6.text+''''; end else begin if wwDBComboBox1.text='' then str:='where 1=1'; if wwDBComboBox1.text='没有退税' then str:='where 是否退税=0'; if wwDBComboBox1.text='已经退税' then str:='where 是否退税=1'; end; if (wwDBDateTimePicker7.text<>'')or(wwDBDateTimePicker8.text<>'') then begin if str='' then str:='where 是否结汇=1' else str:=str+' and 是否结汇=1'; if wwDBDateTimePicker7.text<>'' then str:=str+' and 结汇日期>='+''''+wwDBDateTimePicker7.text+''''; if wwDBDateTimePicker8.text<>'' then str:=str+' and 结汇日期<='+''''+wwDBDateTimePicker8.text+''''; end else begin if wwDBComboBox2.text='' then else if wwDBComboBox2.text='没有结汇' then if str='' then str:='where 是否结汇=0' else str:=str+' and 是否结汇=0'; if wwDBComboBox2.text='已经结汇' then if str='' then str:='where 是否结汇=1' else str:=str+'and 是否结汇=1'; end; if Edit1.text<>''then str:=str+' and 业务编号 like '+''''+'%'+Edit1.text+'%'+''''; if Edit4.text<>''then str:=str+' and 委托编号 like '+''''+'%'+Edit4.text+'%'+''''; if Edit2.text<>''then str:=str+' and 主提单号 like '+''''+'%'+Edit2.text+'%'+''''; if Edit3.text<>''then str:=str+' and 分提单号 like '+''''+'%'+Edit3.text+'%'+''''; if wwDBDateTimePicker1.text<>''then str:=str+' and 开船日期>='+''''+wwDBDateTimePicker1.text+''''; if wwDBDateTimePicker2.text<>''then str:=str+' and 开船日期<='+''''+wwDBDateTimePicker2.text+''''; if wwDBDateTimePicker3.text<>''then str:=str+' and 会计期间>='+''''+wwDBDateTimePicker3.text+''''; if wwDBDateTimePicker4.text<>''then str:=str+' and 会计期间<='+''''+wwDBDateTimePicker4.text+''''; if RxDBLookupCombo2.DisplayValues[1]<>''then str:=str+' and 委托单位='+''''+RxDBLookupCombo2.DisplayValues[1]+''''; // if RxDBLookupCombo6.DisplayValues[0]<>''then // str:=str+' and 操作员='+''''+RxDBLookupCombo6.DisplayValues[0]+''''; if wwDBLookupCombo49.text<>''then str:=str+' and 船名 like '+''''+'%'+wwDBLookupCombo49.text+'%'+''''; if Edit7.text<>''then str:=str+' and 航次 like '+''''+'%'+Edit7.text+'%'+''''; if wwDBLookupCombo52.text<>''then str:=str+' and 卸货港 like '+''''+'%'+wwDBLookupCombo52.text+'%'+''''; if FHblNo.Count<>0 then begin str:=str+' and ('; for i:=0 to FHblNo.Count-1 do begin if i=0 then str:=str+'报关单号='+''''+Trim(FHblNo.Strings[i])+'''' else str:=str+' or 报关单号='+''''+Trim(FHblNo.Strings[i])+''''; end; str:=str+') '; end; if FhxNo.Count<>0 then begin str:=str+' and ('; for i:=0 to FhxNo.Count-1 do begin if i=0 then str:=str+'核销单号='+''''+Trim(FhxNo.Strings[i])+'''' else str:=str+' or 核销单号='+''''+Trim(FhxNo.Strings[i])+''''; end; str:=str+') '; end; t_op_seae.close; t_op_seae.sql.clear; t_op_seae.sql.add('select * from t_op_seae '+str+default_sort(53,'t_op_seae','','desc')); t_op_seae.open; end; procedure Tfrm_op_seae_tuishui.bsSkinButton6Click(Sender: TObject); begin Edit1.text:=''; Edit4.text:=''; Edit2.text:=''; Edit3.text:=''; wwDBDateTimePicker1.text:=''; wwDBDateTimePicker2.text:=''; RxDBLookupCombo2.ClearValue; wwDBDateTimePicker3.text:=''; wwDBDateTimePicker4.text:=''; wwDBLookupCombo49.text:=''; Edit7.text:=''; wwDBLookupCombo52.text:=''; // RxDBLookupCombo6.ClearValue; wwDBComboBox1.text:=''; wwDBDateTimePicker5.text:=''; wwDBDateTimePicker6.text:=''; FHblNo.Clear; FhxNo.Clear; wwDBComboBox2.text:=''; wwDBDateTimePicker7.text:=''; wwDBDateTimePicker8.text:=''; end; procedure Tfrm_op_seae_tuishui.dxDBGrid1ColumnSorting(Sender: TObject; Column: TdxDBTreeListColumn; var Allow: Boolean); begin Column_sort(Column,t_op_seae,'业务编号'); end; procedure Tfrm_op_seae_tuishui.N10Click(Sender: TObject); begin update_grid_view_no(dxdbgrid1); end; procedure Tfrm_op_seae_tuishui.N14Click(Sender: TObject); begin update_grid_view_all(dxdbgrid1); end; procedure Tfrm_op_seae_tuishui.N12Click(Sender: TObject); begin update_grid(dxdbgrid1,98); end; procedure Tfrm_op_seae_tuishui.N16Click(Sender: TObject); begin grid_save_xls(dxdbgrid1); end; procedure Tfrm_op_seae_tuishui.FormShow(Sender: TObject); begin loadreggrid(dxdbgrid1,true,caption); FHblNo:=TStringList.Create; FhxNo:=TStringList.Create; end; procedure Tfrm_op_seae_tuishui.bsSkinButton9Click(Sender: TObject); begin sys_print('海运出口退税',2,nil,nil,nil,nil,t_op_seae1,nil,nil,nil,nil,nil,nil); end; procedure Tfrm_op_seae_tuishui.Edit1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin key:=#0; frm_op_seae_tuishui.bsSkinButton10Click(Sender); end; end; procedure Tfrm_op_seae_tuishui.bsSkinButton13Click(Sender: TObject); var i:integer; begin if t_op_seae.isempty then exit; if dxDBGrid1.SelectedCount>=1 then begin for i:=0 to dxDBGrid1.SelectedCount-1 do begin t_op_seae.GotoBookmark(pointer(dxDBGrid1.selectedrows[i])); if not t_op_seae.FieldByName('是否退税').asboolean then begin t_op_seae.Edit; t_op_seae['是否退税']:=1; t_op_seae['退税日期']:=date; t_op_seae.post; end; end; end else begin if not t_op_seae.FieldByName('是否退税').asboolean then begin t_op_seae.Edit; t_op_seae['是否退税']:=1; t_op_seae['退税日期']:=date; t_op_seae.post; end; end; end; procedure Tfrm_op_seae_tuishui.bsSkinButton1Click(Sender: TObject); var i:integer; begin if t_op_seae.isempty then exit; if dxDBGrid1.SelectedCount>=1 then begin for i:=0 to dxDBGrid1.SelectedCount-1 do begin t_op_seae.GotoBookmark(pointer(dxDBGrid1.selectedrows[i])); if t_op_seae.FieldByName('是否退税').asboolean then begin t_op_seae.Edit; t_op_seae['是否退税']:=0; t_op_seae['退税日期']:=null; t_op_seae.post; end; end; end else begin if t_op_seae.FieldByName('是否退税').asboolean then begin t_op_seae.Edit; t_op_seae['是否退税']:=0; t_op_seae['退税日期']:=null; t_op_seae.post; end; end; end; procedure Tfrm_op_seae_tuishui.Edit5Enter(Sender: TObject); begin ListBoxNos.Items.Clear; ListBoxNos.Items.Assign(FHblNo); ListBoxNos.Visible:=true; ListBoxNos.top:=edit5.Top+edit5.height; end; procedure Tfrm_op_seae_tuishui.Edit5Exit(Sender: TObject); begin ListBoxNos.Visible:=false; ListBoxNos.Items.Clear; end; procedure Tfrm_op_seae_tuishui.Edit5KeyPress(Sender: TObject; var Key: Char); begin if Key<>#13 then exit; if (Trim(Edit5.Text)<>'') then begin FHblNo.Add(Trim(Edit5.Text)); ListBoxNos.Items.Add(Trim(Edit5.Text)); Edit5.Text:=''; end; end; procedure Tfrm_op_seae_tuishui.bsSkinButton2Click(Sender: TObject); var i:integer; begin if t_op_seae.isempty then exit; if dxDBGrid1.SelectedCount>=1 then begin for i:=0 to dxDBGrid1.SelectedCount-1 do begin t_op_seae.GotoBookmark(pointer(dxDBGrid1.selectedrows[i])); if not t_op_seae.FieldByName('是否结汇').asboolean then begin t_op_seae.Edit; t_op_seae['是否结汇']:=1; t_op_seae['结汇日期']:=date; t_op_seae.post; end; end; end else begin if not t_op_seae.FieldByName('是否结汇').asboolean then begin t_op_seae.Edit; t_op_seae['是否结汇']:=1; t_op_seae['结汇日期']:=date; t_op_seae.post; end; end; end; procedure Tfrm_op_seae_tuishui.bsSkinButton3Click(Sender: TObject); var i:integer; begin if t_op_seae.isempty then exit; if dxDBGrid1.SelectedCount>=1 then begin for i:=0 to dxDBGrid1.SelectedCount-1 do begin t_op_seae.GotoBookmark(pointer(dxDBGrid1.selectedrows[i])); if t_op_seae.FieldByName('是否结汇').asboolean then begin t_op_seae.Edit; t_op_seae['是否结汇']:=0; t_op_seae['结汇日期']:=null; t_op_seae.post; end; end; end else begin if t_op_seae.FieldByName('是否结汇').asboolean then begin t_op_seae.Edit; t_op_seae['是否结汇']:=0; t_op_seae['结汇日期']:=null; t_op_seae.post; end; end; end; procedure Tfrm_op_seae_tuishui.Edit6Enter(Sender: TObject); begin ListBoxNos.Items.Clear; ListBoxNos.Items.Assign(FhxNo); ListBoxNos.Visible:=true; ListBoxNos.top:=edit6.Top+edit6.height; end; procedure Tfrm_op_seae_tuishui.Edit6Exit(Sender: TObject); begin ListBoxNos.Visible:=false; ListBoxNos.Items.Clear; end; procedure Tfrm_op_seae_tuishui.Edit6KeyPress(Sender: TObject; var Key: Char); begin if Key<>#13 then exit; if (Trim(Edit6.Text)<>'') then begin FhxNo.Add(Trim(Edit6.Text)); ListBoxNos.Items.Add(Trim(Edit6.Text)); Edit6.Text:=''; end; end; end.