unit u_op_seae_apply_to; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, BusinessSkinForm, bsSkinCtrls, StdCtrls, wwdbdatetimepicker, DB, RxLookup, Mask, wwdbedit, Wwdotdot, Wwdbcomb,inifiles, ADODB; type Tfrm_op_seae_apply_to = class(TForm) bsBusinessSkinForm1: TbsBusinessSkinForm; bsSkinGroupBox1: TbsSkinGroupBox; bsSkinCheckRadioBox1: TbsSkinCheckRadioBox; bsSkinCheckRadioBox2: TbsSkinCheckRadioBox; bsSkinCheckRadioBox3: TbsSkinCheckRadioBox; bsSkinCheckRadioBox4: TbsSkinCheckRadioBox; bsSkinCheckRadioBox5: TbsSkinCheckRadioBox; bsSkinCheckRadioBox6: TbsSkinCheckRadioBox; bsSkinButton1: TbsSkinButton; bsSkinButton2: TbsSkinButton; data1: TDataSource; bsSkinButton3: TbsSkinButton; bsSkinCheckRadioBox7: TbsSkinCheckRadioBox; bsSkinButton4: TbsSkinButton; OpenDialog1: TOpenDialog; bsSkinCheckRadioBox8: TbsSkinCheckRadioBox; bsSkinGroupBox2: TbsSkinGroupBox; Label16: TLabel; Label19: TLabel; RxDBLookupCombo14: TRxDBLookupCombo; RxDBLookupCombo29: TRxDBLookupCombo; dataseae: TDataSource; t_op_apply: TADOQuery; t_sys_employee: TADOQuery; t_sys_employee1: TDataSource; procedure bsSkinButton2Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure bsSkinButton3Click(Sender: TObject); procedure bsSkinCheckRadioBox7Click(Sender: TObject); procedure RxDBLookupCombo14Change(Sender: TObject); procedure RxDBLookupCombo29Change(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure t_op_applyBeforePost(DataSet: TDataSet); private { Private declarations } public { Public declarations } end; var frm_op_seae_apply_to: Tfrm_op_seae_apply_to; frm_op_seae_add_num:integer; implementation uses u_main, u_op_seae, my_sys_function, u_data_share; {$R *.dfm} procedure Tfrm_op_seae_apply_to.bsSkinButton2Click(Sender: TObject); begin close; end; procedure Tfrm_op_seae_apply_to.FormShow(Sender: TObject); var inifile1:Tinifile; begin t_sys_employee.open; { wwDBDateTimePicker1.MinDate:=Logininfo.endday+1; wwDBDateTimePicker1.Date:=date; } inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini'); RxDBLookupCombo14.DisplayValue:=inifile1.ReadString('applyorder','op',''); RxDBLookupCombo29.DisplayValue:=inifile1.ReadString('applyorder','sales',''); { RxDBLookupCombo30.DisplayValue:=inifile1.ReadString('applyorder','opdept',''); RxDBLookupCombo13.DisplayValue:=inifile1.ReadString('applyorder','kf',''); RxDBLookupCombo12.DisplayValue:=inifile1.ReadString('applyorder','salesdept',''); RxDBLookupCombo16.DisplayValue:=inifile1.ReadString('applyorder','ywly',''); RxDBLookupCombo17.DisplayValue:=inifile1.ReadString('applyorder','ywlyitems',''); } inifile1.free; end; procedure Tfrm_op_seae_apply_to.bsSkinButton3Click(Sender: TObject); var afield : variant; i: Integer; PNO:string; begin if (RxDBLookupCombo14.DisplayValue='') //操作员 then begin MessageDlg('报关操作都不为空!', mtConfirmation, [mbYes],0); exit; end; dataseae.DataSet.Edit; dataseae.DataSet.FieldByName('报关服务').AsBoolean:=true; dataseae.DataSet['报关操作']:=RxDBLookupCombo14.DisplayValue; dataseae.DataSet['报检操作']:=RxDBLookupCombo29.DisplayValue; dataseae.DataSet.FieldByName('实验内容').AsString:='申请报关'; if (dataseae.DataSet.State=dsinsert)or(dataseae.DataSet.State=dsedit) then dataseae.DataSet.post; { if dataseae.DataSet.IsEmpty then begin showmessage('没有复制母体,不能复制新建!'); exit; end; t_op_apply.open; afield := vararraycreate([0,dataseae.DataSet.fieldcount-1],varvariant); for i := 0 to (dataseae.DataSet.fieldcount-1) do begin afield[i] :=dataseae.DataSet.fields[i].value ; end; data1.DataSet.append; for i := 0 to (data1.DataSet.fieldcount-1) do begin data1.DataSet.fields[i].value := afield[i] ; end; data1.DataSet['周次']:=WeekofYear(wwDBDateTimePicker1.date); data1.DataSet['装运方式']:='报关'; if bsSkinCheckRadioBox7.Checked then begin data1.DataSet['业务类型']:='更改单'; PNO:=Trim(data1.DataSet.FieldByName('委托编号').AsString); end else data1.DataSet['业务类型']:='普通货'; data1.DataSet['业务编号']:=''; data1.DataSet['主编号']:=''; data1.DataSet['编号']:=''; data1.DataSet['订舱单号']:=''; // if not (Trim(frm_data_share.t_sys_noset.fieldbyname('出号规则').Asstring)='手动编辑') then data1.DataSet['委托编号']:=''; if bsSkinCheckRadioBox7.Checked then begin if Trim(PNO)<>'' then data1.DataSet.FieldByName('委托编号').AsString:=PNO+'*'; end; data1.DataSet['箱型1']:=0; data1.DataSet['箱型2']:=0; data1.DataSet['箱型3']:=0; data1.DataSet['箱型4']:=0; data1.DataSet['箱型5']:=0; data1.DataSet['箱型6']:=0; data1.DataSet['箱型7']:=0; data1.DataSet['箱型8']:=0; data1.DataSet['箱型9']:=0; data1.DataSet['箱型10']:=0; data1.DataSet['其他箱型']:=0; data1.DataSet['箱TEU']:=0; // data1.DataSet['集装箱']:=''; data1.DataSet['箱数大写']:=''; data1.DataSet['计费标准']:=''; data1.DataSet['报关日期']:=null; data1.DataSet['报关员']:=''; data1.DataSet['报关单号']:=''; data1.DataSet['核销单号']:=''; data1.DataSet['手册号']:=''; data1.DataSet['是否退税']:=0; data1.DataSet['退税日期']:=null; data1.DataSet['是否通关']:=0; data1.DataSet['通关日期']:=null; data1.DataSet['危险品分类']:=''; data1.DataSet['危险品编号']:=null; data1.DataSet['冷藏通风量']:=''; data1.DataSet['温度单位']:=''; data1.DataSet['设置温度']:=''; data1.DataSet['最低温度']:=''; data1.DataSet['最高温度']:=''; // data1.DataSet['货物标识']:=''; data1.DataSet['二程开船日期']:=null; data1.DataSet['三程开船日期']:=null; data1.DataSet['二程港口']:=''; data1.DataSet['二程船名']:=''; data1.DataSet['二程航次']:=''; data1.DataSet['箱号封号']:=''; // data1.DataSet['备注']:=''; data1.DataSet['分单列表']:=''; data1.DataSet['发票号']:=''; data1.DataSet['商品编码']:=''; data1.DataSet['是否签单']:=0; data1.DataSet['签回日期']:=null; data1.DataSet['请求派车']:=0; data1.DataSet['是否派车']:=0; data1.DataSet['派车日期']:=null; data1.DataSet['是否解锁']:=0; data1.DataSet['解锁日期']:=null; data1.DataSet['解锁人']:=''; data1.DataSet['应收陆运']:=0; data1.DataSet['应付陆运']:=0; data1.DataSet['陆运利润']:=0; data1.DataSet['是否退税']:=0; data1.DataSet['是否通关']:=0; data1.DataSet['是否签单']:=0; data1.DataSet['是否退舱']:=0; data1.DataSet['退税日期']:=null; data1.DataSet['签单日期']:=null; data1.DataSet['派车日期']:=null; data1.DataSet['寄单日期']:=null; data1.DataSet['是否寄单']:=0; data1.DataSet['FEE']:=0; data1.DataSet['FEE2']:=0; data1.DataSet['业务状态']:='申请报关'; data1.DataSet['费用状态']:='录入状态'; data1.DataSet['录入人']:=employee; data1.DataSet['录入日期']:=date; data1.DataSet['分部名称']:=subComp; data1.DataSet['操作员']:=RxDBLookupCombo14.DisplayValue; data1.DataSet['操作部门']:=RxDBLookupCombo30.DisplayValue; data1.DataSet['客服员']:=RxDBLookupCombo13.DisplayValue; data1.DataSet['揽货人']:=RxDBLookupCombo29.DisplayValue; data1.DataSet['销售部门']:=RxDBLookupCombo12.DisplayValue; data1.DataSet['业务来源']:=RxDBLookupCombo16.DisplayValue; data1.DataSet['来源明细']:=RxDBLookupCombo17.DisplayValue; data1.DataSet['报关操作']:=employee; data1.DataSet['报检操作']:=employee; data1.DataSet['报检操作']:=employee; if data1.DataSet['船公司']<>'CMA' THEN data1.DataSet['运输方式']:=''; data1.DataSet['海尔联系部门']:=''; data1.DataSet['提单签发状态']:=''; data1.DataSet['会计期间']:=wwDBDateTimePicker1.date; if (strtoint(get_parameters_value(158,'0'))=1) and bsSkinCheckRadioBox7.Checked then AmendAccDate('T_OP_SEAE',data1); data1.DataSet['财务']:=0; data1.DataSet['财务凭证']:=''; data1.DataSet['备案号']:=''; data1.DataSet['运抵国']:=''; data1.DataSet['境内货源地']:=''; data1.DataSet['批准文号']:=''; data1.DataSet['成交方式']:=''; data1.DataSet['净重']:=0; data1.DataSet['单价']:=''; data1.DataSet['总价']:=''; data1.DataSet['商品名称']:=''; data1.DataSet['数量单位']:=''; data1.DataSet['接单日期']:=null; data1.DataSet['报检日期']:=null; data1.DataSet['报检单号']:=''; data1.DataSet['验货时间']:=null; data1.DataSet['实验时间']:=null; data1.DataSet['熏蒸时间']:=null; data1.DataSet['出证时间']:=null; data1.DataSet['实验内容']:=''; data1.DataSet['币制']:=''; data1.DataSet['财务']:=0; data1.DataSet['财务凭证2']:=''; // data1.DataSet['签单编号']:=0; data1.DataSet['是否打印']:=0; data1.DataSet['销售订舱']:=0; data1.DataSet['费用封帐日期']:=null; data1.DataSet['总价']:='0'; data1.DataSet['第二通知人']:=''; data1.DataSet['内部航次号']:=''; data1.DataSet['DOOR地址']:=''; data1.DataSet['拆单并单编号']:=''; data1.DataSet['副本提单份数']:=''; data1.DataSet['订舱状态']:=''; data1.DataSet['确认状态']:=''; data1.DataSet['结费类型']:=''; data1.DataSet['海丰财务凭证']:=''; data1.DataSet['香港付费对象']:=''; data1.DataSet['合同号']:=''; data1.DataSet['船代']:=''; data1.DataSet['合计20']:=0; data1.DataSet['合计40']:=0; data1.DataSet['合计40H']:=0; data1.DataSet['合计45']:=0; data1.DataSet['集团成本']:=0; data1.DataSet['凭证日期']:=null; data1.DataSet['提交财务日期']:=null; data1.DataSet['自责更改']:='0'; data1.DataSet['应收海运费']:=0; data1.DataSet['应付海运费']:=0; data1.DataSet['船公司代理费']:=0; data1.DataSet['捷丰代理费']:=0; data1.DataSet['香港付费']:=0; data1.DataSet['拖车数']:=0; data1.DataSet['报关数']:=0; data1.DataSet['代理数']:=0; data1.DataSet['拼箱整箱']:=0; data1.DataSet['舱单申报']:=''; data1.DataSet['结费类型']:=getzqlx(data1.DataSet['委托单位']); if copy(data1.DataSet.fieldbyname('装运方式').asstring,1,4)='拼箱'then begin if not strtobool(get_parameters_value(52,'false')) then begin data1.DataSet['件数包装']:=''; data1.DataSet['货物重量']:=''; data1.DataSet['货物尺码']:=''; data1.DataSet['货物描述']:=''; data1.DataSet['分单列表']:=''; end; end else begin if not strtobool(get_parameters_value(51,'false')) then begin data1.DataSet['件数包装']:=''; data1.DataSet['货物重量']:=''; data1.DataSet['货物尺码']:=''; data1.DataSet['货物描述']:=''; data1.DataSet['分单列表']:=''; end; end; data1.DataSet.Post; } close; end; procedure Tfrm_op_seae_apply_to.bsSkinCheckRadioBox7Click(Sender: TObject); begin bsSkinCheckRadioBox3.Checked:=True; end; procedure Tfrm_op_seae_apply_to.RxDBLookupCombo14Change(Sender: TObject); begin { if RxDBLookupCombo14.DisplayValue='' then exit; if frm_data_share.t_sys_employee.locate('姓名',RxDBLookupCombo14.DisplayValue,[]) then RxDBLookupCombo30.DisplayValue:=frm_data_share.t_sys_employee['部门名称']; } end; procedure Tfrm_op_seae_apply_to.RxDBLookupCombo29Change(Sender: TObject); begin { if RxDBLookupCombo29.DisplayValue='' then exit; if frm_data_share.t_sys_employee.locate('姓名',RxDBLookupCombo29.DisplayValue,[]) then RxDBLookupCombo12.DisplayValue:=frm_data_share.t_sys_employee['部门名称']; } end; procedure Tfrm_op_seae_apply_to.FormClose(Sender: TObject; var Action: TCloseAction); var inifile1:Tinifile; begin inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini'); inifile1.WriteString('applyorder','op',RxDBLookupCombo14.DisplayValue); inifile1.WriteString('applyorder','sales',RxDBLookupCombo29.DisplayValue); { inifile1.WriteString('applyorder','opdept',RxDBLookupCombo30.DisplayValue); inifile1.WriteString('applyorder','kf',RxDBLookupCombo13.DisplayValue); inifile1.WriteString('applyorder','salesdept',RxDBLookupCombo12.DisplayValue); inifile1.WriteString('applyorder','ywly',RxDBLookupCombo16.DisplayValue); inifile1.WriteString('applyorder','ywlyitems',RxDBLookupCombo17.DisplayValue); } inifile1.free; end; procedure Tfrm_op_seae_apply_to.t_op_applyBeforePost(DataSet: TDataSet); var aQuery:TAdoQuery; begin //委托编号生成 if Trim(frm_data_share.t_sys_noset.fieldbyname('出号规则').Asstring)='自动取号' then if t_op_apply.FieldByName('委托编号').IsNull or (trim(t_op_apply.fieldByName('委托编号').AsString)='') then if Trim(frm_data_share.t_sys_noset.fieldbyname('日期规则').Asstring)='会计期间' then t_op_apply['委托编号']:=getwtno(1,subComp,department,employee,t_op_apply['会计期间']) else t_op_apply['委托编号']:=getwtno(1,subComp,department,employee,t_op_apply['开船日期']); if t_op_apply.fieldbyname('业务编号').asstring=''then begin t_op_apply['业务编号']:=get_no(t_op_apply.fieldbyname('会计期间').AsDateTime,getbsno(Logininfo.SeaExpBsNo,'SE')); t_op_apply['编号']:=get_id; //showmessage(t_op_seae['编号']); end; t_op_apply['主编号']:=dataseae.DataSet['编号']; t_op_apply['业务状态']:='申请报关'; t_op_apply['封帐前状态']:='接受委托'; t_op_apply['费用状态']:='录入状态'; table_before_post(t_op_apply,'编号'); t_op_apply['主提单标准']:=t_op_apply['编号']; t_op_apply['分提单标准']:=t_op_apply['编号']; t_op_apply['委托标准']:=t_op_apply['编号']; t_op_apply['核销标准']:=t_op_apply['编号']; if strtobool(get_parameters_value(58,'false')) then begin if (trim(t_op_apply.fieldbyname('报关单号').asstring)='') or (Trim(t_op_apply.fieldbyname('业务类型').asstring)='更改单')or (t_op_apply.fieldbyname('装运方式').asstring='报关') then begin t_op_apply['报关标准']:=t_op_apply['编号']; end else begin t_op_apply['报关标准']:=t_op_apply['报关单号']; end; end else begin t_op_apply['报关标准']:=t_op_apply['编号']; end; if (trim(t_op_apply.fieldbyname('报检单号').asstring)='') or (Trim(t_op_apply.fieldbyname('业务类型').asstring)='更改单') then begin t_op_apply['报检标准']:=t_op_apply['编号']; end else begin t_op_apply['报检标准']:=t_op_apply['报检单号']; end; end; end.