You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3380 lines
107 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

unit u_op_seae_edi_hyundai;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,IdFTP,IdFTPCommon,
Dialogs, BusinessSkinForm, StdCtrls, bsSkinCtrls,inifiles, DB, ADODB,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdExplicitTLSClientServerBase;
type
Tfrm_op_seae_edi_hyundai = class(TForm)
bsBusinessSkinForm1: TbsBusinessSkinForm;
Label2: TLabel;
Edit2: TEdit;
Edit1: TEdit;
Label1: TLabel;
SaveDialog1: TSaveDialog;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
bsSkinButton3: TbsSkinButton;
t_op_ctn: TADOQuery;
t_op_ctn1: TDataSource;
bsSkinRadioGroup1: TbsSkinRadioGroup;
Label3: TLabel;
Edit3: TEdit;
bsSkinRadioGroup2: TbsSkinRadioGroup;
bsSkinButton4: TbsSkinButton;
bsSkinGroupBox1: TbsSkinGroupBox;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
t_op_ams: TADOQuery;
t_op_ams1: TDataSource;
bsSkinCheckRadioBox2: TbsSkinCheckRadioBox;
t_op_seae_assistant: TADOQuery;
Label8: TLabel;
Edit8: TEdit;
Label9: TLabel;
Edit9: TEdit;
Label10: TLabel;
Edit10: TEdit;
Label11: TLabel;
Edit11: TEdit;
Label12: TLabel;
Edit12: TEdit;
t_op_edictn: TADOQuery;
Label13: TLabel;
Label14: TLabel;
Edit13: TEdit;
Edit14: TEdit;
Label15: TLabel;
Edit15: TEdit;
Label16: TLabel;
Edit16: TEdit;
Label17: TLabel;
Edit17: TEdit;
bsSkinButton5: TbsSkinButton;
bsSkinButton6: TbsSkinButton;
bsSkinGroupBox2: TbsSkinGroupBox;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Edit18: TEdit;
Edit19: TEdit;
Edit20: TEdit;
Edit21: TEdit;
bsSkinGroupBox3: TbsSkinGroupBox;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Edit22: TEdit;
Edit23: TEdit;
Edit24: TEdit;
Edit25: TEdit;
bsSkinButton8: TbsSkinButton;
Edit26: TEdit;
Label26: TLabel;
IdFTP1: TIdFTP;
CheckBox1: TCheckBox;
procedure bsSkinButton2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
procedure bsSkinButton3Click(Sender: TObject);
procedure bsSkinButton4Click(Sender: TObject);
procedure bsSkinButton5Click(Sender: TObject);
procedure bsSkinButton6Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
function isEditrue(DataSet:TDataSet): boolean;
function GetStrNum(str:String):integer;
function FormatListString(Old:TStrings;mCount,Strlength:integer):String;
function FormatEdiString(str:String;Strlength:integer=0):String;
function CreateEdiFile:TStrings;
function CreateZHUEdiFile:TStrings;
function CreateSIEdiFile:TStrings;
function CreateVgmEdiFile:TStrings;
function CreateSIZHUEdiFile:TStrings;
function GetCntrEdi(cntrsize: String):String;
function GetpkgsEdi(pkgs:String):String;
function GetlineEdi(aline:String):String;
function GetvesselEdi(avessel:String):String;
function GetLengthword(var s: String; l: Integer;str:String): String;
procedure GetLengthTString(var sl:TStringList;l:integer);
function IsZhongwen(Str:String):Boolean;
function GetCtnGoods(bsno:String):String;
{ Private declarations }
public
{ Public declarations }
MblLength:integer;
IntMarksRowCount:integer;
IntGoodsRowCount:integer;
end;
var
frm_op_seae_edi_hyundai: Tfrm_op_seae_edi_hyundai;
implementation
uses u_op_seae, u_main, my_sys_function, u_data_share, u_op_seae_assistant;
{$R *.dfm}
function Tfrm_op_seae_edi_hyundai.IsZhongwen(Str: String): Boolean;
var
i:Integer;
begin
Result:=false;
if Str='' then Exit;
for i:=1 to Length(Str) do begin
// if Str[i]>Chr(127) then begin
if bytetype(Str[i],1)<>mbsinglebyte then begin
Result:=True;
Exit;
end;
end;
end;
function Tfrm_op_seae_edi_hyundai.GetLengthword(var s: String; l: Integer;str:String): String;
var
i:Integer;
b:Boolean;
begin
s:='';
if Length(str)<=l then begin
result:=str;
end else begin
b:=true;
s:=Copy(str,l+1,Length(str)-l);
str:=Copy(str,1,l);
result:='';
for i:=Length(str) downto 1 do begin
if ( not (str[i] in [' ',';',',','.',':','/','(',')','?','+','-'])) and b then
s:=str[i]+s
else begin
b:=false;
result:=str[i]+Result;
end;
end;
s:=s+' ';
end;
end;
procedure Tfrm_op_seae_edi_hyundai.GetLengthTString(var sl: TStringList; l: integer);
var
i:integer;
str_head,S:String;
Stemp:TStrings;
begin
Stemp:=TStringList.Create;
try
str_head:='';
S:='';
for i:=0 to sl.Count-1 do begin
if sl[i]<>'' then
stemp.add(GetLengthword(str_head,l,s+sl[i]));
S:=Str_head;
end;
while S<>'' do begin
stemp.add(GetLengthword(str_head,l,s));
S:=Str_head;
end;
SL.Assign(Stemp);
finally
FreeAndNil(Stemp);
end;
end;
function Tfrm_op_seae_edi_hyundai.FormatEdiString(str:String;Strlength:integer=0):String;
var
i:integer;
strC:widestring;
begin
strC:='';
for i:=1 to length(str) do
begin
if ((str[i]=#39) or (str[i]=':') or (str[i]='+') or (str[i]='?') or (str[i]=';')) then
begin
strC:=strC+'?'+str[i];
end
else
begin
strC:=strC+str[i];
end;
end;
result:=strC;
end;
function Tfrm_op_seae_edi_hyundai.FormatListString(Old:TStrings;mCount,Strlength:integer):String;
var
i:integer;
NewStrs:TStrings;
mStr:String;
begin
Result:='';
NewStrs:=TStringList.Create;
for i:=0 to old.Count-1 do begin
if Length(old.Strings[i])<=Strlength then begin
NewStrs.Add(old.Strings[i]);
end else begin
mStr:=old.Strings[i];
while length(mStr)>Strlength do begin
newStrs.Add(copy(mStr,1,Strlength));
system.Delete(mStr,1,Strlength);
end;
newStrs.Add(mStr);
end;
end;
try
for i:=0 to mCount-1 do begin
if i<NewStrs.Count then begin
Result:=Result+NewStrs.Strings[i];
end;
if i<mCount-1 then
Result:=Result+':';
end;
finally
FreeAndNil(NewStrs);
end;
end;
function Tfrm_op_seae_edi_hyundai.GetStrNum(str:String):integer;
var
i:integer;
begin
result:=0;
if str='' then exit;
for i:=1 to length(Str) do begin
if str[i] in ['0','1','2','3','4','5','6','7','8','9'] then
result:=result+1;
end;
end;
procedure Tfrm_op_seae_edi_hyundai.bsSkinButton2Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_op_seae_edi_hyundai.FormShow(Sender: TObject);
var
inifile1:Tinifile;
tmpstr:string;
begin
inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini');
edit1.text:=inifile1.ReadString('EDI','HYUNDAISEND','');
edit2.text:=inifile1.ReadString('EDI','HYUNDAIRECIEVE','');
edit3.text:=inifile1.ReadString('EDI','HYUNDAISENDNAME','');
edit4.text:=inifile1.ReadString('EDI','HYUNDAIFTPSERVER','');
edit5.text:=inifile1.ReadString('EDI','HYUNDAIFTPPATH','/');
edit6.text:=inifile1.ReadString('EDI','HYUNDAIFTPNAME','');
edit7.text:=inifile1.ReadString('EDI','HYUNDAIFTPPASS','');
edit8.text:=inifile1.ReadString('EDI','HYUNDAISENDDEPT','');
edit9.text:=inifile1.ReadString('EDI','HYUNDAISENDATTN','');
edit10.text:=inifile1.ReadString('EDI','HYUNDAISENDTEL','');
edit11.text:=inifile1.ReadString('EDI','HYUNDAISENDFAX','');
edit12.text:=inifile1.ReadString('EDI','HYUNDAISENDEMAIL','');
edit13.text:=inifile1.ReadString('EDI','HYUNDAIESINAME','');
edit14.text:=inifile1.ReadString('EDI','HYUNDAIESIPASS','');
edit18.text:=inifile1.ReadString('EDI','HYUNDAIVGMFTPSERVER','');
edit19.text:=inifile1.ReadString('EDI','HYUNDAIVGMFTPPATH','');
edit20.text:=inifile1.ReadString('EDI','HYUNDAIVGMFTPUSERNAME','');
edit26.text:=inifile1.ReadString('EDI','HYUNDAIVGMFTPPORT','');
edit21.text:=inifile1.ReadString('EDI','HYUNDAIVGMFTPPASSWORD','');
edit22.text:=inifile1.ReadString('EDI','JHCZFTPSERVER','');
edit23.text:=inifile1.ReadString('EDI','JHCZFTPPATH','');
edit24.text:=inifile1.ReadString('EDI','JHCZFTPNAME','');
edit25.text:=inifile1.ReadString('EDI','JHCZFTPPASS','');
tmpstr:=inifile1.ReadString('EDI','SEND_FTPPASSIVE_HYUNDAI','1');
if (tmpstr='1') then CheckBox1.checked else CheckBox1.checked:=False;
inifile1.free;
t_op_ams.close;
t_op_ams.Parameters.ParamByName('<27><><EFBFBD><EFBFBD>').Value:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring;
t_op_ams.open;
end;
procedure Tfrm_op_seae_edi_hyundai.bsSkinButton1Click(Sender: TObject);
var
Str:TStrings;
inifile1:Tinifile;
i:integer;
begin
inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini');
inifile1.WriteString('EDI','HYUNDAISEND',edit1.text);
inifile1.WriteString('EDI','HYUNDAIRECIEVE',edit2.text);
inifile1.WriteString('EDI','HYUNDAISENDNAME',edit3.text);
inifile1.WriteString('EDI','HYUNDAIFTPSERVER',edit4.text);
inifile1.WriteString('EDI','HYUNDAIFTPPATH',edit5.text);
inifile1.WriteString('EDI','HYUNDAIFTPNAME',edit6.text);
inifile1.WriteString('EDI','HYUNDAIFTPPASS',edit7.text);
inifile1.WriteString('EDI','HYUNDAISENDDEPT',edit8.text);
inifile1.WriteString('EDI','HYUNDAISENDATTN',edit9.text);
inifile1.WriteString('EDI','HYUNDAISENDTEL',edit10.text);
inifile1.WriteString('EDI','HYUNDAISENDFAX',edit11.text);
inifile1.WriteString('EDI','HYUNDAISENDEMAIL',edit12.text);
inifile1.WriteString('EDI','HYUNDAIESINAME',edit13.text);
inifile1.WriteString('EDI','HYUNDAIESIPASS',edit14.text);
inifile1.WriteString('EDI','JHCZFTPSERVER',edit22.text);
inifile1.WriteString('EDI','JHCZFTPPATH',edit23.text);
inifile1.WriteString('EDI','JHCZFTPNAME',edit24.text);
inifile1.WriteString('EDI','JHCZFTPPASS',edit25.text);
if CheckBox1.checked then
inifile1.WriteString('EDI','SEND_FTPPASSIVE_HYUNDAI','1');
inifile1.free;
if not isEditrue(frm_op_seae.t_op_seae) then exit;
if Trim(Edit15.Text)<>'' then
IntMarksRowCount:=StrToInt(Trim(Edit15.Text))
else IntMarksRowCount:=9;
if Trim(Edit16.Text)<>'' then
IntGoodsRowCount:=StrToInt(Trim(Edit16.Text))
else IntGoodsRowCount:=5;
if Trim(Edit17.Text)<>'' then
MblLength:=StrToInt(Trim(Edit17.Text))
else MblLength:=2;
str:=Tstringlist.Create;
try
if Trim(frm_op_seae.t_op_seae.fieldbyname('װ<>˷<EFBFBD>ʽ').asstring)='<27><><EFBFBD><EFBFBD>' then
if bsSkinRadioGroup2.ItemIndex=1 then
Str:=CreateSIEdiFile
else
Str:=CreateEdiFile
else if Pos('<27><>Ʊ',(frm_op_seae.t_op_seae.fieldbyname('װ<>˷<EFBFBD>ʽ').asstring))>0 then
if bsSkinRadioGroup2.ItemIndex=1 then
Str:=CreateSIZHUEdiFile
else
Str:=CreateZHUEdiFile
else begin
Exit;
end;
for i:=0 to Str.Count-1 do begin
if IsZhongwen(Str[i]) then begin
if MessageDlg('<27><>Ʊҵ<C6B1><D2B5><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>,ȷʵҪ<CAB5><D2AA><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbYes,mbNo],0)=mrNo then
exit;
end;
end;
SaveDialog1.FileName:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring;
if SaveDialog1.Execute then
begin
str.SaveToFile(SaveDialog1.FileName+'.txt');
showmessage('<27>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ɳɹ<C9B3><C9B9><EFBFBD>');
end
else
begin
showmessage('<27>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
exit;
end;
finally
FreeAndNil(Str)
end;
close;
end;
function Tfrm_op_seae_edi_hyundai.isEditrue(DataSet:TDataSet): boolean;
var
cntrs:String;
begin
result:=true;
if trim(DataSet.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring)='' then begin
result:=false;
MessageDlg('<27><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(DataSet.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD>ѷ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(DataSet.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(DataSet.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD>β<EFBFBD><CEB2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(DataSet.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)<>'' then begin
if (GetvesselEdi(trim(DataSet.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)))='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
end;
if trim(DataSet.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('װ<>۴<EFBFBD><DBB4><EFBFBD><EBB2BB>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(DataSet.fieldbyname('װ<><D7B0><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('װ<><D7B0><EFBFBD>۲<EFBFBD><DBB2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
{
if trim(DataSet.fieldbyname('<27>ܼ<EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װƤ<D7B0>ز<EFBFBD><D8B2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
}
if trim(DataSet.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(DataSet.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(DataSet.fieldbyname('ж<><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('ж<><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(DataSet.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD>ص㲻<D8B5><E3B2BB>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(DataSet.fieldbyname('Ŀ<>ĵ<EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('Ŀ<>ĵز<C4B5><D8B2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
{
if trim(frm_op_seae.t_op_seae.fieldbyname('<27>˷<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27>˷<EFBFBD>Э<EFBFBD><D0AD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
}
{
if bsSkinRadioGroup2.ItemIndex=1 then begin
if trim(t_op_ams.fieldbyname('SI<53><49>ע').asstring)='' then begin
result:=false;
MessageDlg('SI<53><49>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
end else begin
if trim(frm_op_seae.t_op_seae.fieldbyname('EDI<44><49>ע').asstring)='' then begin
result:=false;
MessageDlg('EDI<44><49>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
end;
}
if trim(DataSet.fieldbyname('ǩ<><C7A9><EFBFBD>ص<EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('ǩ<><C7A9><EFBFBD>ص㲻<D8B5><E3B2BB>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(GetpkgsEdi(DataSet.fieldbyname('<27><>װ').asstring))='' then begin
result:=false;
MessageDlg('<27><>װEDI<44><49><EFBFBD><EFBFBD><EBB2BB><EFBFBD><EFBFBD>!',mtWarning,[mbOk],0);
exit;
end;
if trim(DataSet.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(DataSet.fieldbyname('<27><>ͷ').asstring)='' then begin
result:=false;
MessageDlg('<27><>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if DataSet.fieldbyname('<27><><EFBFBD><EFBFBD>').asinteger=0 then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if DataSet.fieldbyname('<27><><EFBFBD><EFBFBD>').asFloat=0 then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if DataSet.fieldbyname('<27><><EFBFBD><EFBFBD>').asFloat=0 then begin
result:=false;
MessageDlg('<27>ܳ<EFBFBD><DCB3><EFBFBD><EBB2BB>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if trim(frm_op_seae.t_op_seae.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)='D' then begin
if Trim(frm_op_seae.t_op_seae.fieldbyname('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('Σ<><CEA3>Ʒ<EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if Trim(frm_op_seae.t_op_seae.fieldbyname('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if GetStrNum(Trim(frm_op_seae.t_op_seae.fieldbyname('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>').asstring))<>4 then begin
result:=false;
MessageDlg('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><34><CEBB><EFBFBD><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
end;
if trim(frm_op_seae.t_op_seae.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)='R' then begin
if Trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD>¶Ȳ<C2B6><C8B2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if Trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
{
if Trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD>¶Ȳ<C2B6><C8B2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
if Trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD>¶Ȳ<C2B6><C8B2><EFBFBD>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
}
end;
cntrGoods:=GetCtnGoods(frm_op_seae.t_op_seae.fieldByName('<27><><EFBFBD><EFBFBD>').asString);
if trim(cntrGoods)<>'' then
begin
result:=false;
MessageDlg(cntrGoods,mtWarning,[mbOk],0);
// exit;
end;
if bsSkinRadioGroup2.ItemIndex=1 then begin
t_op_ctn.close;
t_op_ctn.Parameters.ParamByName('<27><><EFBFBD><EFBFBD>').Value:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring;
t_op_ctn.open;
if t_op_ctn.IsEmpty then begin
result:=false;
MessageDlg('<27><>װ<EFBFBD><EFBFBD><E4B2BB>Ϊ<EFBFBD><CEAA>',mtWarning,[mbOk],0);
exit;
end;
t_op_ctn.First;
while not t_op_ctn.Eof do begin
if Trim(t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
if Trim(t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)='' then begin
result:=false;
MessageDlg('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
t_op_ctn.Next;
end;
end;
if iszhongwen(frm_op_seae.t_op_seae.fieldbyname('EDI<44><49>ע').AsString) then begin
result:=false;
MessageDlg('EDI<44><49>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
if iszhongwen(dataset.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>').AsString) then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
if iszhongwen(dataset.fieldbyname('<27>ջ<EFBFBD><D5BB>˴<EFBFBD><CBB4><EFBFBD>').AsString) then begin
result:=false;
MessageDlg('<27>ջ<EFBFBD><D5BB>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
if iszhongwen(dataset.fieldbyname('֪ͨ<CDA8>˴<EFBFBD><CBB4><EFBFBD>').AsString) then begin
result:=false;
MessageDlg('֪ͨ<CDA8>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
if iszhongwen(t_op_ams.fieldbyname('AMS<4D><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString) then begin
result:=false;
MessageDlg('<27>ڶ<EFBFBD>֪ͨ<CDA8>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
if iszhongwen(dataset.fieldbyname('<27><>ͷ').AsString) then begin
result:=false;
MessageDlg('<27><>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
if iszhongwen(dataset.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString) then begin
result:=false;
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
end;
function Tfrm_op_seae_edi_hyundai.CreateEdiFile:TStrings;
var
str,sl,sl1:Tstringlist;
i,j,Count,l,M:integer;
strsql,strRmain,strtemp,S,strSoc:string;
rs:Tadoquery;
wide_str:widestring;
k:integer;
strType:string;
strDatetime:string;
SenderCode,ReciverCode:string;
function GetRemarksString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('EDI<44><49>ע').AsString);
GetLengthTString(TempStr,35);
Result:='17:';
Result:=Result+FormatListString(TempStr,5,35)+'''';
finally
FreeAndNil(TempStr);
end;
end;
function GetShipperString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>').AsString);
GetLengthTString(TempStr,35);
Result:='20:';
Result:=Result+':';
Result:=Result+FormatListString(TempStr,6,35)+'''';
finally
FreeAndNil(TempStr);
end;
end;
function GetConsigneString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('<27>ջ<EFBFBD><D5BB>˴<EFBFBD><CBB4><EFBFBD>').AsString);
GetLengthTString(TempStr,35);
Result:='21:';
Result:=Result+':';
Result:=Result+FormatListString(TempStr,6,35)+'''';
finally
FreeAndNil(TempStr);
end;
end;
function GetNOTIFYString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('֪ͨ<CDA8>˴<EFBFBD><CBB4><EFBFBD>').AsString);
GetLengthTString(TempStr,35);
Result:='22:';
Result:=Result+':';
Result:=Result+FormatListString(TempStr,6,35)+'''';
finally
FreeAndNil(TempStr);
end;
end;
function GetAMSSHIPPERString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(t_op_ams.fieldbyname('AMS<4D><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString);
GetLengthTString(TempStr,35);
Result:='23:';
Result:=Result+':';
Result:=Result+FormatListString(TempStr,6,35)+'''';
finally
FreeAndNil(TempStr);
end;
end;
function GetMARKSString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('<27><>ͷ').AsString);
GetLengthTString(TempStr,15);
Result:='44:';
Result:=Result+FormatListString(TempStr,10,15)+'''';
finally
FreeAndNil(TempStr);
end;
end;
{
function GetCARGODESCRIPTIONString:String;
var
TempStr:TStrings;
i:integer;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString;
for i:=0 to TempStr.Count-1 do begin
if i=0 then
Result:='47:'+FormatEdiString(TempStr.Strings[i],70)
else
Result:=Result+':'+FormatEdiString(TempStr.Strings[i],70);
end;
Result:=Result+'''';
finally
FreeAndNil(TempStr);
end;
end;
}
begin
if not isEditrue(frm_op_seae.t_op_seae) then exit;
SenderCode:=trim(edit1.Text) ;
ReciverCode:=trim(edit2.Text) ;
if bsSkinRadioGroup1.ItemIndex=0 then
strType:='9'
else if bsSkinRadioGroup1.ItemIndex=1 then
strType:='2'
else if bsSkinRadioGroup1.ItemIndex=2 then
strType:='3'
else if bsSkinRadioGroup1.ItemIndex=3 then
strType:='4'
else strType:='9';
str:=Tstringlist.Create;
sl:=Tstringlist.Create;
sl1:=Tstringlist.Create;
str.Clear;
str.Add('00:IFTMBF:BOOKING:'+trim(strType)+':'+ SenderCode+':'+ReciverCode+':'+GetDatetime(datetimetostr(now),1)+#39);
Count:=0;
str.Add ('02:'+ trim(frm_op_seae.t_op_seae.fieldbyname('ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring) +':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+ trim(t_op_ams.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>').asstring) +':'
+ 'HMM:'
+ ':::::::'
+ '::'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27>˷<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD>').asstring)+':'
+':'+ #39);
IF (trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD>ʽ').asstring)<>'<27><><EFBFBD><EFBFBD>') and (trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD>ʽ').asstring)<>'<27><><EFBFBD><EFBFBD><EFBFBD>ᵥ') then //<2F><EFBFBD><E1B5A5><EFBFBD><EFBFBD>
strtemp:='EXP'
else
strtemp:='ORI';
str.add('03:'+strtemp+':'
+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD>ص<EFBFBD>').asstring) +':'
+ GetDatetime(trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring),0)+':'
+ get_fenshu(trim(frm_op_seae.t_op_seae.fieldbyname('<27><EFBFBD><E1B5A5><EFBFBD><EFBFBD>').asstring),MblLength)+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring) +':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('Ԥ<><D4A4><EFBFBD>ص<EFBFBD>').asstring)+':'
+ trim(t_op_ams.fieldbyname('<27><><EFBFBD><EFBFBD>AMS<4D><53>־').asstring) +':'
+ trim(t_op_ams.fieldbyname('<27><><EFBFBD>ô<EFBFBD>AMS<4D><53>־').asstring)
+#39);
str.Add('11:'
+ trim(GetvesselEdi(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'
+'::'
+ ReciverCode +':'
+ '::::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
str.Add ('12:'+trim(frm_op_seae.t_op_seae.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('װ<><D7B0><EFBFBD><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('װ<><D7B0><EFBFBD><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('ж<><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('ж<><D0B6><EFBFBD><EFBFBD>').asstring)+':'
+':'
+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('Ŀ<>ĵش<C4B5><D8B4><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('Ŀ<>ĵ<EFBFBD>').asstring) +#39);
if frm_data_share.t_code_free.locate('<27><><EFBFBD>ѷ<EFBFBD>ʽ',frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring,[]) then
begin
str.Add ('14:'+frm_data_share.t_code_free.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring)+#39);
str.Add('15:'
+'::'
+trim(frm_data_share.t_code_free.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'
+'::'
+ '::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
end
else
begin
str.Add ('14:'+'P'+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring)+#39);
str.Add('15:'
+'::'
+'P:'
+'::'
+ '::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
end;
Str.Add(GetRemarksString);
Str.Add(GetShipperString);
Str.Add(GetConsigneString);
Str.Add(GetNOTIFYString);
if (t_op_ams.fieldbyname('AMS<4D><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString<>'') then
Str.Add(GetAMSSHIPPERString);
{
str.Add ('20:'+':'
+Changestr(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>').asstring) +#39);
str.Add ('21:'+':'
+Changestr(frm_op_seae.t_op_seae.fieldbyname('<27>ջ<EFBFBD><D5BB>˴<EFBFBD><CBB4><EFBFBD>').asstring) +#39);
str.Add ('22:'+':'
+Changestr(frm_op_seae.t_op_seae.fieldbyname('֪ͨ<CDA8>˴<EFBFBD><CBB4><EFBFBD>').asstring) +#39);
}
str.Add ('41:1:'+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD>ʽ').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)+':' // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ S/R/D/O
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':'
+trim(GetpkgsEdi(frm_op_seae.t_op_seae.fieldbyname('<27><>װ').asstring))+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><>װ').asstring) +':' //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ˵<D7B0><CBB5>
+trim(frm_op_seae.t_op_seae.fieldbyname('<27>ܼ<EFBFBD>').asstring) +':' //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ˵<D7B0><CBB5>
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +'::::::' // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װƤ<D7B0><C6A4>
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':::' // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
+#39);
IF trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)='R' THEN
BEGIN
str.Add ('43:' // Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD>
+':'
+':'
+':'
+':'
+':'
+':'
+':'
+'::'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>').asstring) +':'
+'C:'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+'::::'
+#39);
END;
IF trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)='D'THEN
BEGIN
str.Add ('43:' // Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD>
+trim(frm_op_seae.t_op_seae.fieldbyname('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>').asstring) +':'
+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>').asstring) +':'
+':'
+':'
+':'
+':'
+'::'
+':'
+':'
+':'
+':'
+':::::'
+#39);
END;
Str.Add(GetMARKSString);
sl1.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString);
GetLengthTString(sl1,47);
sl.text:='';
for L:=0 to sl1.Count-1 do begin
if Trim(sl1.Strings[L])<>'' then
sl.Add(sl1.Strings[L]);
end;
M:=1;
for L:=0 to sl.Count-1 do begin
if M<=5 then begin
if M=1 then begin
s:='47:'+sl.Strings[L]+':';
end else begin
if M=5 then
s:=s+sl.Strings[L]
else
s:=s+sl.Strings[L]+':';
end;
end else begin
S:=S+'''';
Str.Add(S);
M:=1;
s:='47:'+sl.Strings[L]+':';
end;
M:=M+1;
end;
S:=S+'''';
Str.Add(S);
// Str.Add(GetCARGODESCRIPTIONString);
Count:=Count+11;
strRmain:='';
if (frm_op_seae.t_op_seae.fieldbyname('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsBoolean) then
strSoc:='Y'
else strSoc:='N';
if trim(frm_op_seae.t_op_seae.fieldbyname('װ<>˷<EFBFBD>ʽ').asstring)='<27><><EFBFBD><EFBFBD>' then
begin
if frm_data_share.t_crm_client_changzhan.locate('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>',frm_op_seae.t_op_seae.fieldbyname('<27><>վ').asstring,[])then
begin
strRmain:=strRmain+'F:'+':'+':'+frm_data_share.t_crm_client_changzhan.fieldbyname('EDI<44><49><EFBFBD><EFBFBD>').asstring+':'+':'+strSoc+#39;
end
else
begin
strRmain:=strRmain+'F:'+':'+':'+':'+':'+strSoc+#39;
end;
strsql:='select <20><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>,sum(<28><><EFBFBD><EFBFBD>) as <20><><EFBFBD><EFBFBD> from t_op_ctn group by <20><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD> having <20><><EFBFBD><EFBFBD>='
+#39+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+#39;
try
rs:=Tadoquery.Create(application);
rs.Connection := frm_main.db;
rs.sql.clear;
rs.sql.add(strsql);
rs.Open;
rs.First;
while not rs.Eof do
begin
str.Add ('48:'+Trim(GetCntrEdi(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'+
trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+
strRmain);
Count:=Count+1;
rs.Next;
end;
{
strsql:='select * from t_op_ctn where <20><><EFBFBD><EFBFBD>='
+#39+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+#39;
rs.Close;
rs.sql.clear;
rs.sql.add(strsql);
rs.Open;
if not rs.IsEmpty then begin
if rs.FieldByName('<27><><EFBFBD><EFBFBD>').AsInteger>0 then begin
rs.First;
while not rs.Eof do begin
str.Add ('51:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+Trim(GetCntrEdi(rs.fieldbyname('<27>ߴ<EFBFBD>').asstring,rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'+
trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+':'+''''
);
rs.Next;
end;
end;
end;
}
rs.Close;
rs.Destroy;
except
on e:exception do
begin
rs.Close;
rs.Destroy;
exit;
end;
end;
end
else
begin
if frm_data_share.t_crm_client_changzhan.locate('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>',frm_op_seae.t_op_seae.fieldbyname('<27><>վ').asstring,[])then
begin
strRmain:=strRmain+'L:'+':'+':'+frm_data_share.t_crm_client_changzhan.fieldbyname('EDI<44><49><EFBFBD><EFBFBD>').asstring+':'+':'+strSoc+#39;
end
else
begin
strRmain:=strRmain+'L:'+':'+':'+':'+':'+strSoc+#39;
end;
str.Add('48:'+':'+':'+strRmain);
Count:=Count+1;
end;
str.Add('90:'
+ trim(Edit1.text)+':'
+ trim(edit3.text) +':'
+ trim(edit8.text)+':'
+ trim(edit9.text)+':'
+ trim(edit10.text)+':'
+ trim(edit11.text)+':'
+ trim(edit12.text)
+#39);
I:=str.Count;
str.Add('99:'+intToStr(i+1)+'''');
Result:=str;
end;
function Tfrm_op_seae_edi_hyundai.CreateZHUEdiFile:TStrings;
var
str,sl,sl1:Tstringlist;
i,j,Count,l,M:integer;
first:Boolean;
strsql,strRmain,strtemp,strhead,strSoc:string;
rs,aQuery:Tadoquery;
wide_str:widestring;
k:integer;
strType,s:string;
strDatetime:string;
SenderCode,ReciverCode:string;
function GetRemarksString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('EDI<44><49>ע').AsString);
GetLengthTString(TempStr,70);
Result:='17:';
Result:=Result+FormatListString(TempStr,5,70)+'''';
finally
FreeAndNil(TempStr);
end;
end;
function GetShipperString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>').AsString);
GetLengthTString(TempStr,35);
Result:='20:';
Result:=Result+':';
Result:=Result+FormatListString(TempStr,6,35)+'''';
finally
FreeAndNil(TempStr);
end;
end;
function GetConsigneString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(aQuery.fieldbyname('<27>ջ<EFBFBD><D5BB>˴<EFBFBD><CBB4><EFBFBD>').AsString);
GetLengthTString(TempStr,35);
Result:='21:';
Result:=Result+':';
Result:=Result+FormatListString(TempStr,6,35)+'''';
finally
FreeAndNil(TempStr);
end;
end;
function GetNOTIFYString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(aQuery.fieldbyname('֪ͨ<CDA8>˴<EFBFBD><CBB4><EFBFBD>').AsString);
GetLengthTString(TempStr,35);
Result:='22:';
Result:=Result+':';
Result:=Result+FormatListString(TempStr,6,35)+'''';
finally
FreeAndNil(TempStr);
end;
end;
function GetMARKSString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(aQuery.fieldbyname('<27><>ͷ').AsString);
GetLengthTString(TempStr,35);
Result:='44:';
Result:=Result+FormatListString(TempStr,10,35)+'''';
finally
FreeAndNil(TempStr);
end;
end;
begin
SenderCode:=trim(edit1.Text) ;
ReciverCode:=trim(edit2.Text) ;
if bsSkinRadioGroup1.ItemIndex=0 then
strType:='9'
else if bsSkinRadioGroup1.ItemIndex=1 then
strType:='2'
else if bsSkinRadioGroup1.ItemIndex=2 then
strType:='3'
else if bsSkinRadioGroup1.ItemIndex=3 then
strType:='4'
else strType:='9';
str:=Tstringlist.Create;
sl:=Tstringlist.Create;
sl1:=Tstringlist.Create;
str.Clear;
str.Add('00:IFTMBF:BOOKING:'+trim(strType)+':'+ SenderCode+':'+ReciverCode+':'+GetDatetime(datetimetostr(now),1)+#39);
Count:=0;
aQuery:=CreateAdoQuery;
try
aQuery.Close;aQuery.sql.Clear;
aQuery.SQL.Add('select * from t_op_seae where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD> and <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><3E><><EFBFBD><EFBFBD>');
aQuery.Parameters.ParamByName('<27><><EFBFBD><EFBFBD>').Value:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring;
aQuery.Open;
if not aQuery.IsEmpty then begin
if not isEditrue(aQuery) then exit;
aQuery.first;
first:=true;
while not aQuery.eof do begin
if first then begin
str.Add ('02:'+ trim(frm_op_seae.t_op_seae.fieldbyname('ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring) +':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +'::'
+ 'HMM:'
+ ':::::::'
+ '::'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27>˷<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD>').asstring)+':'
+':'+ #39);
end else begin
str.Add ('02:'+ trim(aQuery.fieldbyname('ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)+':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring) +':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+ trim(t_op_ams.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>').asstring) +':'
+ 'HMM:'
+ ':::::::'
+ '::'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27>˷<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD>').asstring)+':'
+':'+ #39);
{
str.Add ('02:'+ trim(aQuery.fieldbyname('ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)+':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring) +':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +'::'
+ ReciverCode +':'
+ ':::::::'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27>˷<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD>').asstring)+':'
+':::'+ #39);
}
end;
IF (trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD>ʽ').asstring)<>'<27><><EFBFBD><EFBFBD>') and (trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD>ʽ').asstring)<>'<27><><EFBFBD><EFBFBD><EFBFBD>ᵥ') then //<2F><EFBFBD><E1B5A5><EFBFBD><EFBFBD>
strtemp:='EXP'
else
strtemp:='ORI';
str.add('03:'+strtemp+':'
+':'
+ trim(aQuery.fieldbyname('ǩ<><C7A9><EFBFBD>ص<EFBFBD>').asstring) +':'
+ GetDatetime(trim(aQuery.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring),0)+':'
+ get_fenshu(trim(aQuery.fieldbyname('<27><EFBFBD><E1B5A5><EFBFBD><EFBFBD>').asstring),MblLength)+':'
+ trim(aQuery.fieldbyname('Ԥ<><D4A4><EFBFBD>ص<EFBFBD>').asstring) +':'
+ trim(aQuery.fieldbyname('Ԥ<><D4A4><EFBFBD>ص<EFBFBD>').asstring) +#39);
str.Add('11:'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1><EFBFBD>').asstring)+':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'
+'::'
+ ReciverCode +':'
+ '::::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
str.Add ('12:'+trim(aQuery.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)+':'
+trim(aQuery.fieldbyname('װ<><D7B0><EFBFBD><EFBFBD>').asstring)+':'
+trim(aQuery.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)+':'
+trim(aQuery.fieldbyname('װ<><D7B0><EFBFBD><EFBFBD>').asstring)+':'
+trim(aQuery.fieldbyname('ж<><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('ж<><D0B6><EFBFBD><EFBFBD>').asstring)+':'
+':'
+':'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('Ŀ<>ĵش<C4B5><D8B4><EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('Ŀ<>ĵ<EFBFBD>').asstring) +#39);
if frm_data_share.t_code_free.locate('<27><><EFBFBD>ѷ<EFBFBD>ʽ',aQuery.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring,[]) then
begin
str.Add ('14:'+frm_data_share.t_code_free.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+':'
+trim(aQuery.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring)+#39);
str.Add('15:'
+'::'
+trim(frm_data_share.t_code_free.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'
+'::'
+ '::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
end
else
begin
str.Add ('14:'+'P'+':'
+trim(aQuery.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring)+#39);
str.Add('15:'
+'::'
+'P:'
+'::'
+ '::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
end;
Str.Add(GetRemarksString);
Str.Add(GetShipperString);
Str.Add(GetConsigneString);
Str.Add(GetNOTIFYString);
str.Add ('41:1:'+trim(aQuery.fieldbyname('<27><><EFBFBD>ʽ').asstring)+':'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)+':' // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ S/R/D/O
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':'
+trim(GetpkgsEdi(aQuery.fieldbyname('<27><>װ').asstring))+':'
+trim(aQuery.fieldbyname('<27><>װ').asstring) +':' //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ˵<D7B0><CBB5>
+trim(aQuery.fieldbyname('<27>ܼ<EFBFBD>').asstring) +':' //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ˵<D7B0><CBB5>
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +'::::::' // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װƤ<D7B0><C6A4>
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':::' // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
+#39);
IF trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)='R'THEN
BEGIN
str.Add ('43:' // Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD>
+':'
+':'
+':'
+':'
+':'
+':'
+':'
+'::'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>').asstring) +':'
+'C:'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+'::::'
+#39);
END;
IF trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)='D'THEN
BEGIN
str.Add ('43:' // Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD>
+trim(aQuery.fieldbyname('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>').asstring) +':'
+':'
+trim(aQuery.fieldbyname('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>').asstring) +':'
+':'
+':'
+':'
+':'
+'::'
+':'
+':'
+':'
+':'
+':::::'
+#39);
END;
Str.Add(GetMARKSString);
// Str.Add(GetCARGODESCRIPTIONString);
sl1.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString);
GetLengthTString(sl1,70);
sl.text:='';
for L:=0 to sl1.Count-1 do begin
if Trim(sl1.Strings[L])<>'' then
sl.Add(sl1.Strings[L]);
end;
M:=1;
for L:=0 to sl.Count-1 do begin
if M<=5 then begin
if M=1 then begin
s:='47:'+FormatEdiString(sl.Strings[L],0)+':';
end else begin
if M=5 then
s:=s+FormatEdiString(sl.Strings[L],0)
else
s:=s+FormatEdiString(sl.Strings[L],0)+':';
end;
end else begin
S:=S+'''';
Str.Add(S);
M:=1;
s:='47:'+FormatEdiString(sl.Strings[L],0)+':';
end;
M:=M+1;
end;
S:=S+'''';
Str.Add(S);
Count:=Count+11;
strRmain:='';
if (frm_op_seae.t_op_seae.fieldbyname('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsBoolean) then
strSoc:='Y'
else strSoc:='N';
if first then
strRmain:=strRmain+'L:'+':'+':'+':'+':'+'N'+#39
else
strRmain:=strRmain+'L:'+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring)+':'+':'+':'+':'+strSoc+#39;
strsql:='select <20><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>,sum(<28><><EFBFBD><EFBFBD>) as <20><><EFBFBD><EFBFBD> from t_op_ctn group by <20><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD> having <20><><EFBFBD><EFBFBD>='
+#39+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+#39;
try
rs:=Tadoquery.Create(application);
rs.Connection := frm_main.db;
rs.sql.clear;
rs.sql.add(strsql);
rs.Open;
rs.First;
while not rs.Eof do
begin
str.Add ('48:'+Trim(GetCntrEdi(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'+
trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+
strRmain);
Count:=Count+1;
rs.Next;
end;
{
strsql:='select * from t_op_ctn where <20><><EFBFBD><EFBFBD>='
+#39+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+#39;
rs.Close;
rs.sql.clear;
rs.sql.add(strsql);
rs.Open;
if not rs.IsEmpty then begin
if rs.FieldByName('<27><><EFBFBD><EFBFBD>').AsInteger>0 then begin
rs.First;
while not rs.Eof do begin
str.Add ('51:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+Trim(GetCntrEdi(rs.fieldbyname('<27>ߴ<EFBFBD>').asstring,rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'+
trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+':'+''''
);
rs.Next;
end;
end;
end;
}
rs.Close;
rs.Destroy;
except
on e:exception do
begin
rs.Close;
rs.Destroy;
exit;
end;
end;
aQuery.Next;
first:=False;
end;
end;
finally
FreeAndNil(aQuery);
end;
str.Add('90:'
+ trim(Edit1.text)+':'
+ trim(edit3.text) +':'
+ trim(edit8.text)+':'
+ trim(edit9.text)+':'
+ trim(edit10.text)+':'
+ trim(edit11.text)+':'
+ trim(edit12.text)
+#39);
I:=str.Count;
str.Add('99:'+intToStr(i+1)+'''');
Result:=str;
end;
function Tfrm_op_seae_edi_hyundai.CreateSIEdiFile:TStrings;
var
str,sl,sl1:Tstringlist;
i,j,Count,l,M:integer;
strsql,strRmain,strtemp,S,fenshu,strSoc:string;
rs:Tadoquery;
wide_str,str_shr,str_con,str_not:widestring;
k:integer;
strType:string;
strDatetime:string;
SenderCode,ReciverCode:string;
firstcon:boolean;
function GetAMSSHIPPERString:String;
var
TempStr:TStringList;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(t_op_ams.fieldbyname('AMS<4D><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString);
GetLengthTString(TempStr,35);
Result:='23:';
Result:=Result+':';
Result:=Result+FormatListString(TempStr,6,35)+'''';
finally
FreeAndNil(TempStr);
end;
end;
function GetRemarksString:String;
var
TempStr:TStringlist;
begin
TempStr:=TStringList.Create;
try
if not bsSkinCheckRadioBox2.Checked then
TempStr.Text:=FormatEdiString(t_op_ams.fieldbyname('SI<53><49>ע').AsString)
else TempStr.Text:=FormatEdiString(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('EDI<44><49>ע').AsString);
GetLengthTString(TempStr,70);
Result:='17:';
Result:=Result+FormatListString(TempStr,5,70)+'''';
finally
FreeAndNil(TempStr);
end;
end;
begin
SenderCode:=trim(edit1.Text) ;
ReciverCode:=trim(edit2.Text) ;
if bsSkinRadioGroup1.ItemIndex=0 then
strType:='9'
else if bsSkinRadioGroup1.ItemIndex=1 then
strType:='2'
else if bsSkinRadioGroup1.ItemIndex=2 then
strType:='3'
else if bsSkinRadioGroup1.ItemIndex=3 then
strType:='4'
else strType:='9';
if Trim(Edit15.Text)<>'' then
IntMarksRowCount:=StrToInt(Trim(Edit15.Text))
else IntMarksRowCount:=9;
if Trim(Edit16.Text)<>'' then
IntGoodsRowCount:=StrToInt(Trim(Edit16.Text))
else IntGoodsRowCount:=5;
if Trim(Edit17.Text)<>'' then
MblLength:=StrToInt(Trim(Edit17.Text))
else MblLength:=2;
str:=Tstringlist.Create;
sl:=Tstringlist.Create;
sl1:=Tstringlist.Create;
if bsSkinCheckRadioBox2.Checked then
with t_op_seae_assistant do
begin
Close;
SQL.Clear;
SQL.Add('select * from t_op_seae_assistant where AS_ID='''+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('AS_ID').AsString+'''');
open;
end;
str.Clear;
str.Add('00:IFTMIN:Shipping Request:'+trim(strType)+':'+ SenderCode+':'+ReciverCode+':'+GetDatetime(datetimetostr(now),1)+#39);
Count:=0;
if not bsSkinCheckRadioBox2.Checked then //<2F><><EFBFBD><EFBFBD>
begin
str.Add ('02:'+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring)+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring) +':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+ trim(t_op_ams.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>').asstring) +':'
+ 'HMM:'
+ ':::::::'
+ '::'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27>˷<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD>').asstring)+':'
+':'+ #39);
IF (trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD>ʽ').asstring)='<27><><EFBFBD><EFBFBD>') or (trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD>ʽ').asstring)='<27><><EFBFBD><EFBFBD><EFBFBD>ᵥ') then begin //<2F><EFBFBD><E1B5A5><EFBFBD><EFBFBD>
strtemp:='ORI';
fenshu:=get_fenshu(trim(frm_op_seae.t_op_seae.fieldbyname('<27><EFBFBD><E1B5A5><EFBFBD><EFBFBD>').asstring),MblLength);
end else begin
strtemp:='EXP';
fenshu:='0';
end;
end
else
begin
str.Add ('02:'+ trim(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring)+':'
+ trim(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring) +':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+ trim(t_op_ams.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>').asstring) +':'
+ 'HMM:'
+ ':::::::'
+ '::'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27>˷<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD>').asstring)+':'
+':'+ #39);
IF (trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD>ʽ').asstring)='<27><><EFBFBD><EFBFBD>') or (trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD>ʽ').asstring)='<27><><EFBFBD><EFBFBD><EFBFBD>ᵥ') then begin //<2F><EFBFBD><E1B5A5><EFBFBD><EFBFBD>
strtemp:='ORI';
fenshu:=get_fenshu(trim(frm_op_seae.t_op_seae.fieldbyname('<27><EFBFBD><E1B5A5><EFBFBD><EFBFBD>').asstring),MblLength);
end else begin
strtemp:='EXP';
fenshu:='0';
end;
end;
str.add('03:'+strtemp+':'
+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD>ص<EFBFBD>').asstring) +':'
+ GetDatetime(trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring),0)+':'
+ get_fenshu(trim(frm_op_seae.t_op_seae.fieldbyname('<27><EFBFBD><E1B5A5><EFBFBD><EFBFBD>').asstring),MblLength)+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('Ԥ<><D4A4><EFBFBD>ص<EFBFBD>').asstring)+':'
+ trim(t_op_ams.fieldbyname('<27><><EFBFBD><EFBFBD>AMS<4D><53>־').asstring) +':'
+ trim(t_op_ams.fieldbyname('<27><><EFBFBD>ô<EFBFBD>AMS<4D><53>־').asstring)
+#39);
str.Add('11:'
+ trim(GetvesselEdi(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'
+'::'
+ ReciverCode +':'
+ '::::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
str.Add ('12:'+trim(frm_op_seae.t_op_seae.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('װ<><D7B0><EFBFBD><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('װ<><D7B0><EFBFBD><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('ж<><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('ж<><D0B6><EFBFBD><EFBFBD>').asstring)+':'
+':'
+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('Ŀ<>ĵش<C4B5><D8B4><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('Ŀ<>ĵ<EFBFBD>').asstring) +#39);
if frm_data_share.t_code_free.locate('<27><><EFBFBD>ѷ<EFBFBD>ʽ',frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring,[]) then
begin
str.Add ('14:'+frm_data_share.t_code_free.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring)+#39);
str.Add('15:'
+'::'
+trim(frm_data_share.t_code_free.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'
+'::'
+ '::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
end
else
begin
str.Add ('14:'+'P'+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring)+#39);
str.Add('15:'
+'::'
+'P:'
+'::'
+ '::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
end;
Str.Add(GetRemarksString);
if (bsSkinCheckRadioBox2.Checked) and (not t_op_seae_assistant.IsEmpty) then
sl1.Text:=FormatEdiString(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>').asstring)
else
sl1.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>').asstring);
GetLengthTString(sl1,35);
strtemp:='20::'+sl1[0]+':';
if sl1.Count>=2 then
strtemp:=strtemp+sl1[1];
if (sl1.Count>=3) and (sl1.Count<=6) then
begin
for j:=2 to sl1.Count-1 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
end;
if sl1.Count>6 then
begin
for j:=2 to 4 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
s:='';
strtemp:=strtemp+':'+GetLengthword(s,34,sl1[5])+'+';
Str_shr:='+'+S;
for j:=6 to sl1.Count-1 do begin
Str_shr:=Str_shr+' '+sl1[j]
end;
{
strtemp:=strtemp+':'+Copy(sl1[4],1,34)+'*';
Str_shr:='*'+Copy(sl1[4],34,1);
for j:=5 to sl1.Count-1 do begin
Str_shr:=Str_shr+' '+sl1[j]
end;
}
end;
strtemp:=strtemp+#39;
str.Add(strtemp);
count:=count+1;
if (bsSkinCheckRadioBox2.Checked) and (not t_op_seae_assistant.IsEmpty) then
sl1.Text:=FormatEdiString(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('<27>ջ<EFBFBD><D5BB>˴<EFBFBD><CBB4><EFBFBD>').asstring)
else
sl1.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('<27>ջ<EFBFBD><D5BB>˴<EFBFBD><CBB4><EFBFBD>').asstring);
GetLengthTString(sl1,35);
strtemp:='21::'+sl1[0]+':';
if sl1.Count>=2 then
strtemp:=strtemp+sl1[1];
if (sl1.Count>=3) and (sl1.Count<=6) then
begin
for j:=2 to sl1.Count-1 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
end;
if sl1.Count>6 then
begin
for j:=2 to 4 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
s:='';
strtemp:=strtemp+':'+GetLengthword(s,33,sl1[5])+'++';
Str_con:='++'+S;
for j:=6 to sl1.Count-1 do begin
Str_con:=Str_con+' '+sl1[j]
end;
{
strtemp:=strtemp+':'+Copy(sl1[4],1,33)+'**';
Str_con:='**'+Copy(sl1[4],33,2);
for j:=5 to sl1.Count-1 do begin
Str_con:=Str_con+' '+sl1[j]
end;
}
end;
strtemp:=strtemp+#39;
str.Add(strtemp);
count:=count+1;
if (bsSkinCheckRadioBox2.Checked) and (not t_op_seae_assistant.IsEmpty) then
sl1.Text:=FormatEdiString(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('֪ͨ<CDA8>˴<EFBFBD><CBB4><EFBFBD>').asstring)
else
sl1.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('֪ͨ<CDA8>˴<EFBFBD><CBB4><EFBFBD>').asstring);
GetLengthTString(sl1,35);
strtemp:='22::'+sl1[0]+':';
if sl1.Count>=2 then
strtemp:=strtemp+sl1[1];
if (sl1.Count>=3) and (sl1.Count<=6) then
begin
for j:=2 to sl1.Count-1 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
end;
if sl1.Count>6 then
begin
for j:=2 to 4 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
s:='';
strtemp:=strtemp+':'+GetLengthword(s,32,sl1[5])+'+++';
Str_not:='+++'+S;
for j:=6 to sl1.Count-1 do begin
Str_not:=Str_not+' '+sl1[j]
end;
{
strtemp:=strtemp+':'+Copy(sl1[4],1,32)+'***';
Str_not:='***'+Copy(sl1[4],32,3);
for j:=5 to sl1.Count-1 do begin
Str_not:=Str_not+' '+sl1[j]
end;
}
end;
strtemp:=strtemp+#39;
str.Add(strtemp);
count:=count+1;
if (frm_op_seae.t_op_seae.fieldbyname('<27>ڶ<EFBFBD>֪ͨ<CDA8><D6AA>').asstring<>'') then begin
sl1.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('<27>ڶ<EFBFBD>֪ͨ<CDA8><D6AA>').asstring);
GetLengthTString(sl1,35);
strtemp:='23::'+sl1[0]+':';
if sl1.Count>=2 then
strtemp:=strtemp+sl1[1];
if (sl1.Count>=3) and (sl1.Count<=6) then
begin
for j:=2 to sl1.Count-1 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
end;
if sl1.Count>6 then
begin
for j:=2 to 4 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
s:='';
strtemp:=strtemp+':'+GetLengthword(s,33,sl1[5])+'++';
Str_con:='++'+S;
for j:=6 to sl1.Count-1 do begin
Str_con:=Str_con+' '+sl1[j]
end;
end;
strtemp:=strtemp+#39;
str.Add(strtemp);
count:=count+1;
end;
if (t_op_ams.fieldbyname('AMS<4D><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString<>'') then
Str.Add(GetAMSSHIPPERString);
if not bsSkinCheckRadioBox2.Checked then
begin
str.Add ('41:1:'+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD>ʽ').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)+':' // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ S/R/D/O
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':'
+trim(GetpkgsEdi(frm_op_seae.t_op_seae.fieldbyname('<27><>װ').asstring))+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><>װ').asstring) +':' //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ˵<D7B0><CBB5>
+trim(frm_op_seae.t_op_seae.fieldbyname('<27>ܼ<EFBFBD>').asstring) +':' //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ˵<D7B0><CBB5>
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +'::::::' // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װƤ<D7B0><C6A4>
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':::' // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
+#39);
end
else
begin
str.Add ('41:1:'+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD>ʽ').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)+':' // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ S/R/D/O
+trim(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':'
+trim(GetpkgsEdi(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('<27><>װ').asstring))+':'
+trim(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('<27><>װ').asstring) +':' //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ˵<D7B0><CBB5>
+trim(frm_op_seae.t_op_seae.fieldbyname('<27>ܼ<EFBFBD>').asstring) +':' //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ˵<D7B0><CBB5>
+trim(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +'::::::' // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װƤ<D7B0><C6A4>
+trim(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':::' // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
+#39);
end;
IF trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)='R' THEN
BEGIN
str.Add ('43:' // Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD>
+':'
+':'
+':'
+':'
+':'
+':'
+':'
+'::'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>').asstring) +':'
+'C:'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+'::::'
+#39);
END;
IF trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)='D'THEN
BEGIN
str.Add ('43:' // Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD>
+trim(frm_op_seae.t_op_seae.fieldbyname('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>').asstring) +':'
+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>').asstring) +':'
+':'
+':'
+':'
+':'
+'::'
+':'
+':'
+':'
+':'
+':::::'
+#39);
END;
if (bsSkinCheckRadioBox2.Checked) and (not t_op_seae_assistant.IsEmpty) then
sl.Text:=FormatEdiString(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('<27><>ͷ').asstring)
else
sl.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('<27><>ͷ').AsString);
GetLengthTString(sl,35);
M:=1;
for L:=0 to sl.Count-1 do begin
if M<=IntMarksRowCount then
begin
if M=1 then
begin
s:='44:'+sl.Strings[L]+':';
end
else
begin
if M=IntMarksRowCount then
s:=s+sl.Strings[L]
else
s:=s+sl.Strings[L]+':';
end;
end
else
begin
S:=S+'''';
Str.Add(S);
M:=1;
s:='44:'+sl.Strings[L]+':';
end;
M:=M+1;
end;
S:=S+'''';
Str.Add(S);
{ LJP for L:=0 to sl.Count-1 do begin
if M<=10 then begin
if M=1 then begin
s:='44:'+sl.Strings[L]+':';
end else begin
if M=10 then
s:=s+sl.Strings[L]
else
s:=s+sl.Strings[L]+':';
end;
end else begin
S:=S+'''';
Str.Add(S);
M:=1;
s:='44:'+sl.Strings[L]+':';
end;
M:=M+1;
end;
S:=S+'''';
Str.Add(S);
}
if (bsSkinCheckRadioBox2.Checked) and (not frm_op_seae_assistant.t_op_seae_assistant.IsEmpty) then
sl1.Text:=FormatEdiString(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)
else
sl1.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString);
if str_shr<>'' then begin
sl1.Add(str_shr)
end;
if str_con<>'' then begin
sl1.Add(str_con)
end;
if str_not<>'' then begin
sl1.Add(str_not)
end;
GetLengthTString(sl1,70);
sl.text:='';
for L:=0 to sl1.Count-1 do begin
sl.Add(sl1.Strings[L]);
end;
M:=1;
for L:=0 to sl.Count-1 do
begin
if M<=IntGoodsRowCount then
begin
if M=1 then
begin
s:='47:'+sl.Strings[L]+':';
end else
begin
if M=IntGoodsRowCount then
s:=s+sl.Strings[L]
else
s:=s+sl.Strings[L]+':';
end;
end
else
begin
S:=S+'''';
Str.Add(S);
M:=1;
s:='47:'+sl.Strings[L]+':';
end;
M:=M+1;
end;
S:=S+'''';
Str.Add(S);
// Str.Add(GetCARGODESCRIPTIONString);
Count:=Count+11;
strRmain:='';
if (frm_op_seae.t_op_seae.fieldbyname('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsBoolean) then
strSoc:='Y'
else strSoc:='N';
if trim(frm_op_seae.t_op_seae.fieldbyname('װ<>˷<EFBFBD>ʽ').asstring)='<27><><EFBFBD><EFBFBD>' then
begin
if frm_data_share.t_crm_client_changzhan.locate('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>',frm_op_seae.t_op_seae.fieldbyname('<27><>վ').asstring,[])then
begin
if not bsSkinCheckRadioBox2.Checked then
strRmain:=strRmain+'F:'+':'+':'+frm_data_share.t_crm_client_changzhan.fieldbyname('EDI<44><49><EFBFBD><EFBFBD>').asstring+':'+':'+strSoc+#39
else strRmain:=strRmain+'L:'+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring)+':'+':'+frm_data_share.t_crm_client_changzhan.fieldbyname('EDI<44><49><EFBFBD><EFBFBD>').asstring+':'+':'+'N'+#39;
end
else
begin
if not bsSkinCheckRadioBox2.Checked then
strRmain:=strRmain+'F:'+':'+':'+':'+':'+strSoc+#39
else strRmain:=strRmain+'L:'+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring)+':'+':'+':'+':'+strSoc+#39;
end;
if not bsSkinCheckRadioBox2.Checked then
begin
strsql:='select <20><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>,sum(<28><><EFBFBD><EFBFBD>) as <20><><EFBFBD><EFBFBD> from t_op_ctn group by <20><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD> having <20><><EFBFBD><EFBFBD>='
+#39+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+#39;
end
else
begin
strsql:='select as_id,<2C><><EFBFBD><EFBFBD>,sum(<28><><EFBFBD><EFBFBD>) as <20><><EFBFBD><EFBFBD> from t_op_ctn_fendan group by as_id,<2C><><EFBFBD><EFBFBD> having as_id='
+#39+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('as_id').asstring+#39;
end;
try
rs:=Tadoquery.Create(application);
rs.Connection := frm_main.db;
rs.sql.clear;
rs.sql.add(strsql);
rs.Open;
rs.First;
while not rs.Eof do
begin
str.Add ('48:'+Trim(GetCntrEdi(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'+
trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+
strRmain);
Count:=Count+1;
rs.Next;
end;
if not bsSkinCheckRadioBox2.Checked then
begin
strsql:='select * from t_op_ctn where <20><><EFBFBD><EFBFBD>='
+#39+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+#39;
end
else
begin
strsql:='select * from t_op_ctn_fendan where as_id='
+#39+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('as_id').asstring+#39;
end;
rs.Close;
rs.sql.clear;
rs.sql.add(strsql);
rs.Open;
firstcon:=true;
if not rs.IsEmpty then begin
rs.First;
while not rs.Eof do begin
if pos('FR',rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)>0 then begin
if firstcon then
str.Add ('51:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+Trim(GetCntrEdi(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))
+':NIL'+':'+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+'::'
+trim(floatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').Asfloat))+':'+'''')
else
str.Add ('51:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+Trim(GetCntrEdi(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))
+':NIL'+':'+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+'::'
+trim(floatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').Asfloat))+':'+'''');
end else begin
if firstcon then
str.Add ('51:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+Trim(GetCntrEdi(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'+
trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+'::'
+trim(floatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').Asfloat))+':'+'''')
else
str.Add ('51:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+Trim(GetCntrEdi(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'+
trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+'::'
+trim(floatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').Asfloat))+':'+'''');
end;
firstcon:=false;
rs.Next;
end;
if not bsSkinCheckRadioBox2.Checked then
begin
with t_op_edictn do begin
Close;
SQL.Clear;
SQL.Add('select d.<2E><><EFBFBD><EFBFBD>,d.HTS,d.<2E><><EFBFBD><EFBFBD>,d.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,d.<2E><>װ,d.<2E><><EFBFBD><EFBFBD>,c.<2E><><EFBFBD><EFBFBD>,c.<2E><><EFBFBD><EFBFBD> from t_op_ctn_detail d left join t_op_ctn c on (c.ctn_id=d.ctn_id) where c.<2E><><EFBFBD><EFBFBD>='''+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').AsString+'''');
open;
if not IsEmpty then begin
first;
while not eof do begin
str.Add ('53:'+trim(fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+trim(fieldbyname('HTS').asstring)+':'+trim(FormatEdiString(fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring))
+':'+trim(GetpkgsEdi(fieldbyname('<27><>װ').asstring))+':'+trim(IntToStr(fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'
+trim(FloatToStr(fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+'''');
next;
end;
end else begin
rs.First;
while not rs.Eof do begin
str.Add ('53:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD>ʽ').asstring+':'+trim(rs.fieldbyname('Ʒ<><C6B7>').asstring)+':'+trim(GetpkgsEdi(rs.fieldbyname('<27><>װ').asstring))
+':'+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+'''');
rs.Next;
end;
end;
end;
end else begin
rs.First;
while not rs.Eof do begin
str.Add ('53:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+trim(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('HS<48><53><EFBFBD><EFBFBD>').asstring)+':'+trim(FormatEdiString(rs.fieldbyname('Ʒ<><C6B7>').asstring))
+':'+trim(GetpkgsEdi(rs.fieldbyname('<27><>װ').asstring))+':'+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'
+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+'''');
rs.Next;
end;
end;
{
with t_op_edictn do begin
Close;
SQL.Clear;
SQL.Add('select * from t_op_edictn where <20><><EFBFBD><EFBFBD>='''+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').AsString+'''');
open;
if not IsEmpty then begin
first;
while not eof do begin
str.Add ('53:'+trim(fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+trim(fieldbyname('HTS').asstring)+':'+trim(fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)
+':'+trim(GetpkgsEdi(fieldbyname('<27><>װ').asstring))+':'+trim(IntToStr(fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'
+trim(FloatToStr(fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+':'+trim(fieldbyname('<27><>ֵ').asstring)+':'+trim(fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>').Asstring)+'''');
next;
end;
end else begin
rs.First;
while not rs.Eof do begin
str.Add ('53:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+'::'+trim(rs.fieldbyname('Ʒ<><C6B7>').asstring)+':'+trim(GetpkgsEdi(rs.fieldbyname('<27><>װ').asstring))
+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+'''');
rs.Next;
end;
end;
end;
}
end;
rs.Close;
rs.Destroy;
except
on e:exception do
begin
rs.Close;
rs.Destroy;
exit;
end;
end;
end
else
begin
if frm_data_share.t_crm_client_changzhan.locate('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>',frm_op_seae.t_op_seae.fieldbyname('<27><>վ').asstring,[])then
begin
strRmain:=strRmain+'L:'+':'+':'+frm_data_share.t_crm_client_changzhan.fieldbyname('EDI<44><49><EFBFBD><EFBFBD>').asstring+':'+':'+strSoc+#39;
end
else
begin
strRmain:=strRmain+'L:'+':'+':'+':'+':'+'N'+#39;
end;
str.Add('48:'+':'+':'+strRmain);
Count:=Count+1;
end;
str.Add('90:'
+ trim(Edit1.text)+':'
+ trim(edit3.text) +':'
+ trim(edit8.text)+':'
+ trim(edit9.text)+':'
+ trim(edit10.text)+':'
+ trim(edit11.text)+':'
+ trim(edit12.text)
+#39);
I:=str.Count;
str.Add('99:'+intToStr(i+1)+'''');
Result:=str;
end;
function Tfrm_op_seae_edi_hyundai.CreateSIZHUEdiFile:TStrings;
var
sl,sl1,str:Tstringlist;
i,j,Count,l,M:integer;
first:Boolean;
strsql,strRmain,strtemp:string;
rs,aQuery:Tadoquery;
wide_str,str_shr,str_con,str_not:widestring;
k:integer;
strType,s:string;
strDatetime:string;
SenderCode,ReciverCode:string;
function GetRemarksString:String;
var
TempStr:TStringlist;
begin
TempStr:=TStringList.Create;
try
TempStr.Text:=FormatEdiString(t_op_ams.fieldbyname('SI<53><49>ע').AsString);
GetLengthTString(TempStr,70);
Result:='17:';
Result:=Result+FormatListString(TempStr,5,70)+'''';
finally
FreeAndNil(TempStr);
end;
end;
begin
SenderCode:=trim(edit1.Text) ;
ReciverCode:=trim(edit2.Text) ;
if bsSkinRadioGroup1.ItemIndex=0 then
strType:='9'
else if bsSkinRadioGroup1.ItemIndex=1 then
strType:='2'
else if bsSkinRadioGroup1.ItemIndex=2 then
strType:='3'
else if bsSkinRadioGroup1.ItemIndex=3 then
strType:='4'
else strType:='9';
str:=Tstringlist.Create;
sl:=Tstringlist.Create;
sl1:=Tstringlist.Create;
str.Clear;
str.Add('00:IFTMIN:BOOKING:'+trim(strType)+':'+ SenderCode+':'+ReciverCode+':'+GetDatetime(datetimetostr(now),1)+#39);
Count:=0;
aQuery:=CreateAdoQuery;
try
aQuery.Close;aQuery.sql.Clear;
aQuery.SQL.Add('select * from t_op_seae where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD> and <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><3E><><EFBFBD><EFBFBD>');
aQuery.Parameters.ParamByName('<27><><EFBFBD><EFBFBD>').Value:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring;
aQuery.Open;
if not aQuery.IsEmpty then begin
if not isEditrue(aQuery) then exit;
aQuery.first;
first:=true;
while not aQuery.eof do begin
if bsSkinCheckRadioBox2.Checked then
with t_op_seae_assistant do begin
Close;
SQL.Clear;
SQL.Add('select * from t_op_seae_assistant where <20><><EFBFBD><EFBFBD>='''+aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>').AsString+'''');
open;
end;
if first then begin
str.Add ('02:'+ trim(frm_op_seae.t_op_seae.fieldbyname('ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring) +':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +'::'
+ 'HMM:'
+ ':::::::'
+ '::'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27>˷<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD>').asstring)+':'
+':'+ #39);
end else begin
str.Add ('02:'+ trim(aQuery.fieldbyname('ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)+':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring) +':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+ trim(t_op_ams.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>').asstring) +':'
+ 'HMM:'
+ ':::::::'
+ '::'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27>˷<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD>').asstring)+':'
+':'+ #39);
{
str.Add ('02:'+ trim(aQuery.fieldbyname('ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)+':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring) +':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +'::'
+ ReciverCode +':'
+ ':::::::'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27>˷<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD>').asstring)+':'
+':::'+ #39);
}
end;
IF (trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD>ʽ').asstring)='<27><><EFBFBD><EFBFBD>') or (trim(frm_op_seae.t_op_seae.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD>ʽ').asstring)='<27><><EFBFBD><EFBFBD><EFBFBD>ᵥ') then //<2F><EFBFBD><E1B5A5><EFBFBD><EFBFBD>
strtemp:='ORI'
else
strtemp:='EXP';
str.add('03:'+strtemp+':'
+':'
+ trim(aQuery.fieldbyname('ǩ<><C7A9><EFBFBD>ص<EFBFBD>').asstring) +':'
+ GetDatetime(trim(aQuery.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring),0)+':'
+ get_fenshu(trim(aQuery.fieldbyname('<27><EFBFBD><E1B5A5><EFBFBD><EFBFBD>').asstring),MblLength)+':'
+ trim(aQuery.fieldbyname('Ԥ<><D4A4><EFBFBD>ص<EFBFBD>').asstring) +':'
+ trim(aQuery.fieldbyname('Ԥ<><D4A4><EFBFBD>ص<EFBFBD>').asstring) +#39);
str.Add('11:'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1><EFBFBD>').asstring)+':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':'
+ trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'
+'::'
+ ReciverCode +':'
+ '::::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
str.Add ('12:'+trim(aQuery.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)+':'
+trim(aQuery.fieldbyname('װ<><D7B0><EFBFBD><EFBFBD>').asstring)+':'
+trim(aQuery.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)+':'
+trim(aQuery.fieldbyname('װ<><D7B0><EFBFBD><EFBFBD>').asstring)+':'
+trim(aQuery.fieldbyname('ж<><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('ж<><D0B6><EFBFBD><EFBFBD>').asstring)+':'
+':'
+':'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('Ŀ<>ĵش<C4B5><D8B4><EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('Ŀ<>ĵ<EFBFBD>').asstring) +#39);
if frm_data_share.t_code_free.locate('<27><><EFBFBD>ѷ<EFBFBD>ʽ',aQuery.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring,[]) then
begin
str.Add ('14:'+frm_data_share.t_code_free.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+':'
+trim(aQuery.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring)+#39);
str.Add('15:'
+'::'
+trim(frm_data_share.t_code_free.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'
+'::'
+ '::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
end
else
begin
str.Add ('14:'+'P'+':'
+trim(aQuery.fieldbyname('<27><><EFBFBD>ѷ<EFBFBD>ʽ').asstring)+#39);
str.Add('15:'
+'::'
+'P:'
+'::'
+ '::::' +#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
end;
Str.Add(GetRemarksString);
if (bsSkinCheckRadioBox2.Checked) and (not t_op_seae_assistant.IsEmpty) then
sl1.Text:=FormatEdiString(t_op_seae_assistant.fieldbyname('<27>ջ<EFBFBD><D5BB>˴<EFBFBD><CBB4><EFBFBD>').asstring)
else
sl1.Text:=FormatEdiString(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>').asstring);
GetLengthTString(sl1,35);
strtemp:='20::'+sl1[0]+':';
if sl1.Count>=2 then
strtemp:=strtemp+sl1[1];
if (sl1.Count>=3) and (sl1.Count<=5) then
begin
for j:=2 to sl1.Count-1 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
end;
if sl1.Count>5 then
begin
for j:=2 to 3 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
strtemp:=strtemp+':'+Copy(sl1[4],1,34)+'+';
Str_shr:='+'+Copy(sl1[4],34,1);
for j:=5 to sl1.Count-1 do begin
Str_shr:=Str_shr+' '+sl1[j]
end;
end;
strtemp:=strtemp+#39;
str.Add(strtemp);
count:=count+1;
if (bsSkinCheckRadioBox2.Checked) and (not t_op_seae_assistant.IsEmpty) then
sl1.Text:=FormatEdiString(t_op_seae_assistant.fieldbyname('<27>ջ<EFBFBD><D5BB>˴<EFBFBD><CBB4><EFBFBD>').asstring)
else
sl1.Text:=FormatEdiString(aQuery.fieldbyname('<27>ջ<EFBFBD><D5BB>˴<EFBFBD><CBB4><EFBFBD>').asstring);
GetLengthTString(sl1,35);
strtemp:='21::'+sl1[0]+':';
if sl1.Count>=2 then
strtemp:=strtemp+sl1[1];
if (sl1.Count>=3) and (sl1.Count<=5) then
begin
for j:=2 to sl1.Count-1 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
end;
if sl1.Count>5 then
begin
for j:=2 to 3 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
strtemp:=strtemp+':'+Copy(sl1[4],1,33)+'++';
Str_con:='++'+Copy(sl1[4],33,2);
for j:=5 to sl1.Count-1 do begin
Str_con:=Str_con+' '+sl1[j]
end;
end;
strtemp:=strtemp+#39;
str.Add(strtemp);
count:=count+1;
if (bsSkinCheckRadioBox2.Checked) and (not t_op_seae_assistant.IsEmpty) then
sl1.Text:=FormatEdiString(t_op_seae_assistant.fieldbyname('֪ͨ<CDA8>˴<EFBFBD><CBB4><EFBFBD>').asstring)
else
sl1.Text:=FormatEdiString(aQuery.fieldbyname('֪ͨ<CDA8>˴<EFBFBD><CBB4><EFBFBD>').asstring);
GetLengthTString(sl1,35);
strtemp:='22::'+sl1[0]+':';
if sl1.Count>=2 then
strtemp:=strtemp+sl1[1];
if (sl1.Count>=3) and (sl1.Count<=5) then
begin
for j:=2 to sl1.Count-1 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
end;
if sl1.Count>5 then
begin
for j:=2 to 3 do
begin
strtemp:=strtemp+':'+sl1[j]
end;
strtemp:=strtemp+':'+Copy(sl1[4],1,32)+'+++';
Str_not:='+++'+Copy(sl1[4],32,3);
for j:=5 to sl1.Count-1 do begin
Str_not:=Str_not+' '+sl1[j]
end;
end;
strtemp:=strtemp+#39;
str.Add(strtemp);
count:=count+1;
str.Add ('41:1:'+trim(aQuery.fieldbyname('<27><><EFBFBD>ʽ').asstring)+':'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)+':' // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ S/R/D/O
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':'
+trim(GetpkgsEdi(aQuery.fieldbyname('<27><>װ').asstring))+':'
+trim(aQuery.fieldbyname('<27><>װ').asstring) +':' //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ˵<D7B0><CBB5>
+trim(aQuery.fieldbyname('<27>ܼ<EFBFBD>').asstring) +':' //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ˵<D7B0><CBB5>
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +'::::::' // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װƤ<D7B0><C6A4>
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':::' // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
+#39);
IF trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)='R'THEN
BEGIN
str.Add ('43:' // Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD>
+':'
+':'
+':'
+':'
+':'
+':'
+':'
+'::'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>').asstring) +':'
+'C:'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+'::::'
+#39);
END;
IF trim(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ').asstring)='D'THEN
BEGIN
str.Add ('43:' // Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD>
+trim(aQuery.fieldbyname('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>').asstring) +':'
+':'
+trim(aQuery.fieldbyname('Σ<><CEA3>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>').asstring) +':'
+':'
+':'
+':'
+':'
+'::'
+':'
+':'
+':'
+':'
+':::::'
+#39);
END;
if (bsSkinCheckRadioBox2.Checked) and (not t_op_seae_assistant.IsEmpty) then
sl.Text:=FormatEdiString(t_op_seae_assistant.fieldbyname('<27><>ͷ').asstring)
else
sl.Text:=FormatEdiString(aQuery.fieldbyname('<27><>ͷ').AsString);
GetLengthTString(sl,35);
M:=1;
for L:=0 to sl.Count-1 do begin
if M<=10 then begin
if M=1 then begin
s:='44:'+FormatEdiString(sl.Strings[L],0)+':';
end else begin
if M=10 then
s:=s+FormatEdiString(sl.Strings[L],0)
else
s:=s+FormatEdiString(sl.Strings[L],0)+':';
end;
end else begin
S:=S+'''';
Str.Add(S);
M:=1;
s:='44:'+FormatEdiString(sl.Strings[L],0)+':';
end;
M:=M+1;
end;
S:=S+'''';
Str.Add(S);
if (bsSkinCheckRadioBox2.Checked) and (not t_op_seae_assistant.IsEmpty) then
sl1.Text:=FormatEdiString(t_op_seae_assistant.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring)
else
sl1.Text:=FormatEdiString(aQuery.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString);
GetLengthTString(sl1,45);
sl.text:='';
for L:=0 to sl1.Count-1 do begin
sl.Add(sl1.Strings[L]);
end;
if str_shr<>'' then begin
sl.Add(str_shr)
end;
if str_con<>'' then begin
sl.Add(str_con)
end;
if str_not<>'' then begin
sl.Add(str_not)
end;
M:=1;
for L:=0 to sl.Count-1 do begin
if M<=5 then begin
if M=1 then begin
s:='47:'+FormatEdiString(sl.Strings[L],0)+':';
end else begin
if M=5 then
s:=s+FormatEdiString(sl.Strings[L],0)
else
s:=s+FormatEdiString(sl.Strings[L],0)+':';
end;
end else begin
S:=S+'''';
Str.Add(S);
M:=1;
s:='47:'+FormatEdiString(sl.Strings[L],0)+':';
end;
M:=M+1;
end;
S:=S+'''';
Str.Add(S);
Count:=Count+11;
strRmain:='';
if first then
strRmain:=strRmain+'L:'+':'+':'+':'+':'+'N'+#39
else
strRmain:=strRmain+'L:'+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring)+':'+':'+':'+':'+'N'+#39;
strsql:='select <20><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>,sum(<28><><EFBFBD><EFBFBD>) as <20><><EFBFBD><EFBFBD> from t_op_ctn group by <20><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD> having <20><><EFBFBD><EFBFBD>='
+#39+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+#39;
try
rs:=Tadoquery.Create(application);
rs.Connection := frm_main.db;
rs.sql.clear;
rs.sql.add(strsql);
rs.Open;
rs.First;
while not rs.Eof do
begin
str.Add ('48:'+Trim(GetCntrEdi(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'+
trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+
strRmain);
Count:=Count+1;
rs.Next;
end;
strsql:='select * from t_op_ctn where <20><><EFBFBD><EFBFBD>='
+#39+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+#39;
rs.Close;
rs.sql.clear;
rs.sql.add(strsql);
rs.Open;
if not rs.IsEmpty then begin
if rs.FieldByName('<27><><EFBFBD><EFBFBD>').AsInteger>0 then begin
rs.First;
while not rs.Eof do begin
if pos('FR',rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)>0 then begin
str.Add ('51:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+Trim(GetCntrEdi(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))
+':NIL'+':'+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+'::'
+trim(floatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').Asfloat))+':'+''''
);
end else begin
str.Add ('51:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+Trim(GetCntrEdi(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'+
trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+':'+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger))+':'+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat))+'::'
+trim(floatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').Asfloat))+':'+''''
);
end;
rs.Next;
end;
end;
end;
rs.Close;
rs.Destroy;
except
on e:exception do
begin
rs.Close;
rs.Destroy;
exit;
end;
end;
aQuery.Next;
first:=False;
end;
end;
finally
FreeAndNil(aQuery);
end;
str.Add('90:'
+ trim(Edit1.text)+':'
+ trim(edit3.text) +':'
+ trim(edit8.text)+':'
+ trim(edit9.text)+':'
+ trim(edit10.text)+':'
+ trim(edit11.text)+':'
+ trim(edit12.text)
+#39);
I:=str.Count;
str.Add('99:'+intToStr(i+1)+'''');
Result:=str;
end;
function Tfrm_op_seae_edi_hyundai.GetCntrEdi(cntrsize: String):String;
var
aQuery:TADOQuery;
begin
aQuery:=CreateAdoQuery;
try
with aQuery do begin
Close;SQL.Clear;
SQL.Add('Select Edi<64><69><EFBFBD><EFBFBD> from t_code_ctn where <20><><EFBFBD><EFBFBD>='''+cntrsize+'''');
Open;
if IsEmpty then
Result:=''
else
Result:=FieldByName('Edi<64><69><EFBFBD><EFBFBD>').AsString;
end;
finally
FreeAndNil(aQuery);
end;
end;
function Tfrm_op_seae_edi_hyundai.GetpkgsEdi(pkgs: String): String;
var
aQuery:TADOQuery;
begin
aQuery:=CreateAdoQuery;
try
with aQuery do begin
Close;SQL.Clear;
SQL.Add('Select Edi<64><69><EFBFBD><EFBFBD> from t_code_package where <20><><EFBFBD><EFBFBD>='''+pkgs+'''');
Open;
if IsEmpty then
Result:=''
else
Result:=FieldByName('Edi<64><69><EFBFBD><EFBFBD>').AsString;
end;
finally
FreeAndNil(aQuery);
end;
end;
function Tfrm_op_seae_edi_hyundai.GetlineEdi(aline: String): String;
var
aQuery:TADOQuery;
begin
aQuery:=CreateAdoQuery;
try
with aQuery do begin
Close;SQL.Clear;
SQL.Add('Select Edi<64><69><EFBFBD><EFBFBD> from t_code_trade where <20><><EFBFBD><EFBFBD>='''+aline+'''');
Open;
if IsEmpty then
Result:=''
else
Result:=FieldByName('Edi<64><69><EFBFBD><EFBFBD>').AsString;
end;
finally
FreeAndNil(aQuery);
end;
end;
function Tfrm_op_seae_edi_hyundai.GetvesselEdi(avessel: String): String;
var
aQuery:TADOQuery;
begin
aQuery:=CreateAdoQuery;
try
with aQuery do begin
Close;SQL.Clear;
SQL.Add('Select <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> from t_code_vessel where Ӣ<>Ĵ<EFBFBD><C4B4><EFBFBD>='''+avessel+'''');
Open;
if IsEmpty then
Result:=''
else
Result:=FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString;
end;
finally
FreeAndNil(aQuery);
end;
end;
procedure Tfrm_op_seae_edi_hyundai.bsSkinButton3Click(Sender: TObject);
var
IdFTP1:TIdFTP;
str:widestring;
str_file:widestring;
ftpar,ftpname,ftppass,ftppath,ScriptPath:String;
StrL:TStrings;
inifile1:Tinifile;
i,i_soi:integer;
SIO,ORG,MBL,CARR,MBLNO,ETD,CORP,EMP,EMPDAE:string;
edi:WideString;
begin
i_soi:=0;
inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini');
inifile1.WriteString('EDI','HYUNDAISEND',edit1.text);
inifile1.WriteString('EDI','HYUNDAIRECIEVE',edit2.text);
inifile1.WriteString('EDI','HYUNDAISENDNAME',edit3.text);
inifile1.WriteString('EDI','HYUNDAIFTPSERVER',edit4.text);
inifile1.WriteString('EDI','HYUNDAIFTPPATH',edit5.text);
inifile1.WriteString('EDI','HYUNDAIFTPNAME',edit6.text);
inifile1.WriteString('EDI','HYUNDAIFTPPASS',edit7.text);
inifile1.WriteString('EDI','HYUNDAISENDDEPT',edit8.text);
inifile1.WriteString('EDI','HYUNDAISENDATTN',edit9.text);
inifile1.WriteString('EDI','HYUNDAISENDTEL',edit10.text);
inifile1.WriteString('EDI','HYUNDAISENDFAX',edit11.text);
inifile1.WriteString('EDI','HYUNDAISENDEMAIL',edit12.text);
inifile1.WriteString('EDI','HYUNDAIESINAME',edit13.text);
inifile1.WriteString('EDI','HYUNDAIESIPASS',edit14.text);
inifile1.WriteString('EDI','JHCZFTPSERVER',edit22.text);
inifile1.WriteString('EDI','JHCZFTPPATH',edit23.text);
inifile1.WriteString('EDI','JHCZFTPNAME',edit24.text);
inifile1.WriteString('EDI','JHCZFTPPASS',edit25.text);
inifile1.free;
ScriptPath:=ExtractFilePath(ParamStr(0))+'EDIFILE\';
if not DirectoryExists(ScriptPath) then
CreateDir(ScriptPath);
if (TbsSkinButton(Sender).Tag=100) then begin
ftpar:=Trim(edit22.Text);
if ftpar='' then begin
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FTP<54><50>ַ<EFBFBD><D6B7>',mtWarning,[mbOk],0);
exit;
end;
ftpname:=Trim(edit24.Text);
if ftpar='' then begin
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FTP<54>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
ftppass:=Trim(edit25.Text);
if ftpar='' then begin
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FTP<54><50><EFBFBD>룡',mtWarning,[mbOk],0);
exit;
end;
ftppath:=Trim(edit23.Text);
end else begin
ftpar:=Trim(edit4.Text);
if ftpar='' then begin
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FTP<54><50>ַ<EFBFBD><D6B7>',mtWarning,[mbOk],0);
exit;
end;
if bsSkinRadioGroup2.ItemIndex=1 then begin
ftpname:=Trim(edit13.Text);
if ftpar='' then begin
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FTP<54>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
ftppass:=Trim(edit14.Text);
if ftpar='' then begin
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FTP<54><50><EFBFBD>룡',mtWarning,[mbOk],0);
exit;
end;
end else begin
ftpname:=Trim(edit6.Text);
if ftpar='' then begin
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FTP<54>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
ftppass:=Trim(edit7.Text);
if ftpar='' then begin
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FTP<54><50><EFBFBD>룡',mtWarning,[mbOk],0);
exit;
end;
end;
ftppath:=Trim(edit5.Text);
end;
str:=ScriptPath
+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring
+FormatDateTime('yyyy',now)
+FormatDateTime('mm',now)
+FormatDateTime('dd',now)
+FormatDateTime('hh',now)
+FormatDateTime('nn',now)
+FormatDateTime('ss',now)+'.txt';
str_file:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring
+FormatDateTime('yyyy',now)
+FormatDateTime('mm',now)
+FormatDateTime('dd',now)
+FormatDateTime('hh',now)
+FormatDateTime('nn',now)
+FormatDateTime('ss',now)+'.txt';
strL:=Tstringlist.Create;
try
if Trim(frm_op_seae.t_op_seae.fieldbyname('װ<>˷<EFBFBD>ʽ').asstring)='<27><><EFBFBD><EFBFBD>' then
if bsSkinRadioGroup2.ItemIndex=1 then
StrL:=CreateSIEdiFile
else
StrL:=CreateEdiFile
else if Pos('<27><>Ʊ',(frm_op_seae.t_op_seae.fieldbyname('װ<>˷<EFBFBD>ʽ').asstring))>0 then
if bsSkinRadioGroup2.ItemIndex=1 then
StrL:=CreateSIZHUEdiFile
else
StrL:=CreateZHUEdiFile
else begin
Exit;
end;
for i:=0 to StrL.Count-1 do begin
if IsZhongwen(StrL[i]) then begin
if MessageDlg('<27><>Ʊҵ<C6B1><D2B5><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>,ȷʵҪ<CAB5><D2AA><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbYes,mbNo],0)=mrNo then
exit;
end;
end;
strL.SaveToFile(str);
edi:=StrL.Text;
finally
FreeAndNil(StrL)
end;
try
IdFTP1:=TIdFTP.Create(application);
with idftp1 do
begin
Username:=ftpname;
Password:=ftppass;
Host:=ftpar;
Passive:=CheckBox1.Checked;
Connect;
end;
idftp1.ChangeDir(ftppath);
idftp1.TransferType:=ftBinary;
idftp1.Put(str,str_file);
idftp1.Disconnect;
showmessage('<27>ļ<EFBFBD><C4BC>ϴ<EFBFBD><CFB4>ɹ<EFBFBD><C9B9><EFBFBD>');
//
if bsSkinRadioGroup2.ItemIndex=0 then
SIO:='SO'
else SIO:='SI';
if bsSkinRadioGroup2.ItemIndex=0 then
ORG:='ORG'
else ORG:='AMEND';
MBL:='<27><><EFBFBD><EFBFBD>';
MBLNO:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring;
CARR:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>˾').asstring;
CORP:=frm_op_seae.t_op_seae.fieldbyname('ί<>е<EFBFBD>λ').asstring;
EMP:=employee;
EMPDAE:=FormatDateTime('YYYY-MM-DD hh:mm:ss',now);
ETD:=FormatDateTime('YYYY-MM-DD',frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').value);
Insertt_op_Edi_Log(SIO,ORG,MBL,CARR,MBLNO,ETD,CORP,EMP,EMPDAE,str,edi);
except
deletefile(str);
showmessage('<27>ļ<EFBFBD><C4BC>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
i_soi:=1;
end;
idftp1.Free;
if (TbsSkinButton(Sender).Tag=100) then
if i_soi=0 then UpdateSOIStatus(bsSkinRadioGroup2.ItemIndex,frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring);
end;
procedure Tfrm_op_seae_edi_hyundai.bsSkinButton4Click(Sender: TObject);
begin
if frm_op_seae_edi_hyundai.Height=650 then
frm_op_seae_edi_hyundai.Height:=245
else frm_op_seae_edi_hyundai.Height:=650;
end;
procedure Tfrm_op_seae_edi_hyundai.bsSkinButton5Click(Sender: TObject);
var
Str:TStrings;
i:integer;
begin
// if not isEditrue(frm_op_seae.t_op_seae) then exit;
try
Str:=CreateVgmEdiFile;
for i:=0 to Str.Count-1 do begin
if IsZhongwen(Str[i]) then begin
if MessageDlg('<27><>Ʊҵ<C6B1><D2B5><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>,ȷʵҪ<CAB5><D2AA><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbYes,mbNo],0)=mrNo then
exit;
end;
end;
SaveDialog1.FileName:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring;
if SaveDialog1.Execute then
begin
str.SaveToFile(SaveDialog1.FileName+'.txt');
showmessage('<27>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ɳɹ<C9B3><C9B9><EFBFBD>');
end
else
begin
showmessage('<27>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
exit;
end;
finally
FreeAndNil(Str)
end;
end;
function Tfrm_op_seae_edi_hyundai.CreateVgmEdiFile:TStrings;
var
str,sl:Tstringlist;
i,j,Count,l,M:integer;
strsql,strRmain,strtemp,S,fenshu:string;
rs:Tadoquery;
wide_str,str_shr,str_con,str_not:widestring;
k:integer;
strType,SM:string;
strDatetime:string;
SenderCode,ReciverCode,shipname,shipaddr:string;
firstcon:boolean;
begin
SenderCode:=trim(edit1.Text) ;
ReciverCode:=trim(edit2.Text) ;
if bsSkinRadioGroup1.ItemIndex=0 then
strType:='9'
else if bsSkinRadioGroup1.ItemIndex=1 then
strType:='2'
else if bsSkinRadioGroup1.ItemIndex=2 then
strType:='3'
else if bsSkinRadioGroup1.ItemIndex=3 then
strType:='4'
else strType:='9';
if Trim(Edit15.Text)<>'' then
IntMarksRowCount:=StrToInt(Trim(Edit15.Text))
else IntMarksRowCount:=9;
if Trim(Edit16.Text)<>'' then
IntGoodsRowCount:=StrToInt(Trim(Edit16.Text))
else IntGoodsRowCount:=5;
if Trim(Edit17.Text)<>'' then
MblLength:=StrToInt(Trim(Edit17.Text))
else MblLength:=2;
str:=Tstringlist.Create;
sl:=Tstringlist.Create;
str.Clear;
str.Add('00:IFTVGM:BOOKING:'+trim(strType)+':'+ SenderCode+':'+ReciverCode+':'+GetDatetime(datetimetostr(now),1)+#39);
Count:=0;
str.Add ('02:'+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring)+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring) +#39);
str.Add('11:'
+ trim(GetvesselEdi(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring))+':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) +':'
+ trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)+#39); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><D3AA>
str.Add ('12:'+trim(frm_op_seae.t_op_seae.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('װ<><D7B0><EFBFBD><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('װ<>۴<EFBFBD><DBB4><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('װ<><D7B0><EFBFBD><EFBFBD>').asstring)+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('ж<><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('ж<><D0B6><EFBFBD><EFBFBD>').asstring)+':'
+':'
+':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('Ŀ<>ĵش<C4B5><D8B4><EFBFBD>').asstring) +':'
+trim(frm_op_seae.t_op_seae.fieldbyname('Ŀ<>ĵ<EFBFBD>').asstring) +#39);
Count:=Count+4;
if 1=1 then
begin
strsql:='select * from t_op_ctn where <20><><EFBFBD><EFBFBD>='
+#39+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+#39;
try
rs:=Tadoquery.Create(application);
rs.Connection := frm_main.db;
rs.sql.clear;
rs.sql.add(strsql);
rs.Open; rs.First;
if not rs.IsEmpty then begin
rs.First;
while not rs.Eof do
begin
if (rs.fieldbyname('<27><><EFBFBD>ط<EFBFBD>ʽ').asstring<>'') or (rs.fieldbyname('<27><><EFBFBD>ط<EFBFBD>ʽ').asstring<>'<27><>') then
begin
if Trim(rs.fieldbyname('<27><><EFBFBD>ط<EFBFBD>ʽ').asstring)='<27>ۼ<EFBFBD>' then
SM:='SM2'
else if Trim(rs.fieldbyname('<27><><EFBFBD>ط<EFBFBD>ʽ').asstring)='<27><><EFBFBD><EFBFBD>' then
SM:='SM1';
str.Add ('51:'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) //2
+':'+Trim(GetCntrEdi(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)) //3
+':'+trim(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring) // 4
+':'+trim(IntToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsInteger)) //5
+':'+trim(FloatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').AsFloat)) //6
+'::' +trim(floatToStr(rs.fieldbyname('<27><><EFBFBD><EFBFBD>').Asfloat)) //78
+'::::::' //9-14
+':'+rs.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring //15
+':'+GetDatetime(rs.fieldbyname('VGM<47><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asString,1) //16
+':'+SM //17
+':'+rs.fieldbyname('<27><><EFBFBD>صص<D8B5>').asString //18
+'''');
sl.Text:=FormatEdiString(frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>').asstring);
shipname:='';
if sl.Count>=1 then
shipname:=Copy(sl[0],1,20);
shipaddr:='';
if sl.Count>=2 then
shipaddr:=sl[1];
str.Add ('58:'+shipname //2
+':'+shipaddr //3
+':'+rs.fieldbyname('VGM<47><4D>ϵ<EFBFBD><CFB5>').asString // 4
+':'+'' //5
+':'+rs.fieldbyname('VGM<47><4D>ϵ<EFBFBD><CFB5>ϵ<EFBFBD><CFB5>ʽ').asString //6
+':'+'' //7
+':' +rs.fieldbyname('VGMǩ<4D><C7A9>').asString //8
+':' +'certificate ID' //9
+'''');
end;
rs.Next;
end;
end;
rs.Close;
rs.Destroy;
except
on e:exception do
begin
rs.Close;
rs.Destroy;
exit;
end;
end;
end;
I:=str.Count;
str.Add('99:'+intToStr(i+1)+'''');
Result:=str;
end;
procedure Tfrm_op_seae_edi_hyundai.bsSkinButton6Click(Sender: TObject);
var
IdFTP1:TIdFTP;
str:widestring;
str_file:widestring;
ftpar,ftpname,ftppass,ftppath,ScriptPath:String;
StrL:TStrings;
i,i_soi:integer;
SIO,ORG,MBL,CARR,MBLNO,ETD,CORP,EMP,EMPDAE:string;
edi,PORTSTR:WideString;
begin
i_soi:=0;
ScriptPath:=ExtractFilePath(ParamStr(0))+'EDIFILE\';
if not DirectoryExists(ScriptPath) then
CreateDir(ScriptPath);
ftpar:=Trim(edit18.Text);
if ftpar='' then begin
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FTP<54><50>ַ<EFBFBD><D6B7>',mtWarning,[mbOk],0);
exit;
end;
ftpname:=Trim(edit20.Text);
if ftpar='' then begin
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FTP<54>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbOk],0);
exit;
end;
ftppass:=Trim(edit21.Text);
if ftpar='' then begin
MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FTP<54><50><EFBFBD>룡',mtWarning,[mbOk],0);
exit;
end;
ftppath:=Trim(edit19.Text);
str:=ScriptPath
+frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring
+FormatDateTime('yyyy',now)
+FormatDateTime('mm',now)
+FormatDateTime('dd',now)
+FormatDateTime('hh',now)
+FormatDateTime('nn',now)
+FormatDateTime('ss',now)+'.txt';
str_file:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring
+FormatDateTime('yyyy',now)
+FormatDateTime('mm',now)
+FormatDateTime('dd',now)
+FormatDateTime('hh',now)
+FormatDateTime('nn',now)
+FormatDateTime('ss',now)+'.txt';
strL:=Tstringlist.Create;
try
StrL:=CreateVGMEdiFile;
for i:=0 to StrL.Count-1 do begin
if IsZhongwen(StrL[i]) then begin
if MessageDlg('<27><>Ʊҵ<C6B1><D2B5><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>,ȷʵҪ<CAB5><D2AA><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbYes,mbNo],0)=mrNo then
exit;
end;
end;
strL.SaveToFile(str);
edi:=StrL.Text;
finally
FreeAndNil(StrL)
end;
PORTSTR:=Edit26.Text;
if (Trim(PORTSTR)='') then PORTSTR:='21';
try
IdFTP1:=TIdFTP.Create(application);
with idftp1 do
begin
Username:=ftpname;
Password:=ftppass;
Host:=ftpar;
Passive:=True;
port:=StrToInt(PORTSTR);
Connect;
end;
idftp1.ChangeDir(ftppath);
idftp1.TransferType:=ftBinary;
idftp1.Put(str,str_file);
idftp1.Disconnect;
showmessage('<27>ļ<EFBFBD><C4BC>ϴ<EFBFBD><CFB4>ɹ<EFBFBD><C9B9><EFBFBD>');
//
if bsSkinRadioGroup2.ItemIndex=0 then
SIO:='SO'
else SIO:='SI';
SIO:='VGM';
if bsSkinRadioGroup2.ItemIndex=0 then
ORG:='ORG'
else ORG:='AMEND';
MBL:='<27><><EFBFBD><EFBFBD>';
MBLNO:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><E1B5A5>').asstring;
CARR:=frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>˾').asstring;
CORP:=frm_op_seae.t_op_seae.fieldbyname('ί<>е<EFBFBD>λ').asstring;
EMP:=employee;
EMPDAE:=FormatDateTime('YYYY-MM-DD hh:mm:ss',now);
ETD:=FormatDateTime('YYYY-MM-DD',frm_op_seae.t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').value);
Insertt_op_Edi_Log(SIO,ORG,MBL,CARR,MBLNO,ETD,CORP,EMP,EMPDAE,str,edi);
except
deletefile(str);
showmessage('<27>ļ<EFBFBD><C4BC>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
i_soi:=1;
end;
idftp1.Free;
end;
procedure Tfrm_op_seae_edi_hyundai.FormClose(Sender: TObject;
var Action: TCloseAction);
var
inifile1:Tinifile;
begin
inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini');
inifile1.WriteString('EDI','HYUNDAISEND',edit1.text);
inifile1.WriteString('EDI','HYUNDAIRECIEVE',edit2.text);
inifile1.WriteString('EDI','HYUNDAISENDNAME',edit3.text);
inifile1.WriteString('EDI','HYUNDAIFTPSERVER',edit4.text);
inifile1.WriteString('EDI','HYUNDAIFTPPATH',edit5.text);
inifile1.WriteString('EDI','HYUNDAIFTPNAME',edit6.text);
inifile1.WriteString('EDI','HYUNDAIFTPPASS',edit7.text);
inifile1.WriteString('EDI','HYUNDAISENDDEPT',edit8.text);
inifile1.WriteString('EDI','HYUNDAISENDATTN',edit9.text);
inifile1.WriteString('EDI','HYUNDAISENDTEL',edit10.text);
inifile1.WriteString('EDI','HYUNDAISENDFAX',edit11.text);
inifile1.WriteString('EDI','HYUNDAISENDEMAIL',edit12.text);
inifile1.WriteString('EDI','HYUNDAIESINAME',edit13.text);
inifile1.WriteString('EDI','HYUNDAIESIPASS',edit14.text);
inifile1.WriteString('EDI','HYUNDAIVGMFTPSERVER',edit18.text);
inifile1.WriteString('EDI','HYUNDAIVGMFTPPATH',edit19.text);
inifile1.WriteString('EDI','HYUNDAIVGMFTPUSERNAME',edit20.text);
inifile1.WriteString('EDI','HYUNDAIVGMFTPPASSWORD',edit21.text);
inifile1.WriteString('EDI','HYUNDAIVGMFTPPORT',edit26.text);
inifile1.WriteString('EDI','JHCZFTPSERVER',edit22.text);
inifile1.WriteString('EDI','JHCZFTPPATH',edit23.text);
inifile1.WriteString('EDI','JHCZFTPNAME',edit24.text);
inifile1.WriteString('EDI','JHCZFTPPASS',edit25.text);
inifile1.free;
end;
function Tfrm_op_seae_edi_hyundai.GetCtnGoods(bsno: String): String;
var at_op_ctn,at_op_ctndetail :TADOQuery;
ctnlist:TStringList;
b_ctncount:Boolean;
begin
result:='';
at_op_ctn:=CreateAdoQuery;
at_op_ctndetail:=CreateAdoQuery;
ctnlist:=TStringList.Create;
ctnlist.Clear;
with at_op_ctn do
begin
Close;SQL.Clear;
SQL.Add('select ctn_id from t_op_ctn');
SQL.Add('where <20><><EFBFBD><EFBFBD>=:bsno');
Parameters.ParamByName('bsno').Value:=bsno;
open;First;
while not eof do
begin
ctnlist.Add(FieldByName('ctn_id').AsString);
Next;
end;
end;
if Trim(ctnlist.CommaText)<>'' then
with at_op_ctndetail do
begin
Close;SQL.Clear;
SQL.Add('select count(ctn_id) ctn_id from t_op_ctn_detail');
SQL.Add('where ctn_id in ('+ctnlist.CommaText+')');
Open;
if FieldByName('ctn_id').AsInteger>0 then
b_ctncount:=True;
end;
if b_ctncount then
begin
with at_op_ctndetail do
begin
Close;SQL.Clear;
SQL.Add('select ctn_id,sum(<28><><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD>,sum(<28><><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD>,sum(<28><><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD> from t_op_ctn_detail');
SQL.Add('where ctn_id=:ctn_id');
SQL.Add('Group by ctn_id');
end;
with at_op_ctn do
begin
Close;SQL.Clear;
SQL.Add('select ctn_id,<2C><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD> from t_op_ctn');
SQL.Add('where <20><><EFBFBD><EFBFBD>=:bsno');
Parameters.ParamByName('bsno').Value:=bsno;
open;First;
while not eof do
begin
at_op_ctndetail.Close;
at_op_ctndetail.Parameters.ParamByName('ctn_id').Value:=FieldByName('ctn_id').AsInteger;
at_op_ctndetail.Open;
if at_op_ctndetail.FieldByName('<27><><EFBFBD><EFBFBD>').AsInteger<>FieldByName('<27><><EFBFBD><EFBFBD>').AsInteger then
begin
if Trim(result)='' then
result:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD>:'+at_op_ctndetail.FieldByName('<27><><EFBFBD><EFBFBD>').AsString+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD><DCBC><EFBFBD>:'+FieldByName('<27><><EFBFBD><EFBFBD>').AsString
else result:=result+#13#10+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD>:'+at_op_ctndetail.FieldByName('<27><><EFBFBD><EFBFBD>').AsString+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD><DCBC><EFBFBD>:'+FieldByName('<27><><EFBFBD><EFBFBD>').AsString;
end;
if at_op_ctndetail.FieldByName('<27><><EFBFBD><EFBFBD>').AsFloat<>FieldByName('<27><><EFBFBD><EFBFBD>').AsFloat then
begin
if Trim(result)='' then
result:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD>:'+at_op_ctndetail.FieldByName('<27><><EFBFBD><EFBFBD>').AsString+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:'+FieldByName('<27><><EFBFBD><EFBFBD>').AsString
else result:=result+#13#10+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD>:'+at_op_ctndetail.FieldByName('<27><><EFBFBD><EFBFBD>').AsString+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:'+FieldByName('<27><><EFBFBD><EFBFBD>').AsString;
end;
if at_op_ctndetail.FieldByName('<27><><EFBFBD><EFBFBD>').AsFloat<>FieldByName('<27><><EFBFBD><EFBFBD>').AsFloat then
begin
if Trim(result)='' then
result:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD>:'+at_op_ctndetail.FieldByName('<27><><EFBFBD><EFBFBD>').AsString+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD>:'+FieldByName('<27><><EFBFBD><EFBFBD>').AsString
else result:=result+#13#10+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD>:'+at_op_ctndetail.FieldByName('<27><><EFBFBD><EFBFBD>').AsString+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD>:'+FieldByName('<27><><EFBFBD><EFBFBD>').AsString;
end;
Next;
end;
end;
end;
try
finally
at_op_ctn.Free;
at_op_ctndetail.Free;
end;
end;
end.