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.

3418 lines
101 KiB
Plaintext

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden 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_yml;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BusinessSkinForm, bsSkinCtrls, StdCtrls,inifiles, DB, ADODB,IdFTP,IdFTPCommon,
ExtCtrls;
type
TCarrier = Record //ÏûÏ¢¿Í»§¶ËÏûÏ¢½á¹¹
EdiNo :String;
CarrierName :String;
end;
Tfrm_op_seae_edi_yml = class(TForm)
Label2: TLabel;
Label1: TLabel;
Edit2: TEdit;
Edit1: TEdit;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
bsBusinessSkinForm1: TbsBusinessSkinForm;
SaveDialog1: TSaveDialog;
Label3: TLabel;
Label4: TLabel;
Edit3: TEdit;
Edit4: TEdit;
t_op_ctn: TADOQuery;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
bsSkinButton3: TbsSkinButton;
bsSkinButton4: TbsSkinButton;
GroupBox1: TGroupBox;
Label8: TLabel;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Label9: TLabel;
Label10: TLabel;
Edit11: TEdit;
Label11: TLabel;
t_op_edi: TADOQuery;
Label12: TLabel;
Edit12: TEdit;
bsck: TbsSkinCheckRadioBox;
t_op_edictn: TADOQuery;
Label13: TLabel;
Edit13: TEdit;
RadioGroup1: TbsSkinRadioGroup;
RadioGroup3: TbsSkinRadioGroup;
t_op_seae_assistant: TADOQuery;
procedure bsSkinButton1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
function get_txtBooking(str:Tstringlist):integer;
function get_txtSI(str:Tstringlist):integer;
function get_goods(str:widestring):widestring;
procedure bsSkinButton3Click(Sender: TObject);
function isEditrue:boolean;
function GetCtnCode(ctnkind,ctnsize:String):String;
function GetPkgCode(Pkg:String):String;
function GetPort(PortID:String): String;
function GetLoadPortEdiID(Port:String): String;
function GetPortEdiID(Port:String): String;
function GetShipEdiNO(Ship:String): String;
function Changestr(str:widestring):string;
function GetCtnGoods(bsno:String):String;
function GetLengthword(var s: String; l: Integer;str:String): String;
procedure GetLengthTString(var sl:TStringList;l:integer);
function GetStrNum(str:String):integer;
function GetCharNum(str:String):integer;
function IsZhongwen(Str:String):Boolean;
procedure bsSkinButton4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
aCarrier:TCarrier;
SelectCarrier:Boolean;
function ControlLines(LinesCount,CorpTypeid,BsTypeid:Integer;SName:string):String;
function GetCarrier(i:integer):TCarrier;
end;
var
frm_op_seae_edi_yml: Tfrm_op_seae_edi_yml;
implementation
uses u_op_seae, my_sys_function, u_main, u_data_share, u_op_seae_assistant;
{$R *.dfm}
function Tfrm_op_seae_edi_yml.GetCarrier(i:integer):TCarrier;
begin
Result.EdiNo:='YMLU';
Result.CarrierName:='YML';
end;
function Tfrm_op_seae_edi_yml.ControlLines(LinesCount,CorpTypeid,BsTypeid:Integer;SName:string):String;
begin
Result:='';
{
if LinesCount>5 then
begin
case CorpTypeid of
0:begin
case BsTypeid of
0: Result:=SName+'ÏêϸÐÅÏ¢³¬¹ý5ÐÐ,³¬³ö²¿·ÖÇëÔÚ»ù±¾ÐÅÏ¢»õÃèÖÐÌîд¸ñʽΪ:*¼Ó¶à³ö²¿·Ö';
1: Result:=SName+'ÏêϸÐÅÏ¢³¬¹ý5ÐÐ,³¬³ö²¿·ÖÇëÔÚ×°ÏäÃ÷ϸ×îºóÒ»¸ö»õÃèÖÐÌîд¸ñʽΪ:*¼Ó¶à³ö²¿·Ö';
end;
end;
1:begin
case BsTypeid of
0: Result:=SName+'ÏêϸÐÅÏ¢³¬¹ý5ÐÐ,³¬³ö²¿·ÖÇëÔÚ»ù±¾ÐÅÏ¢»õÃèÖÐÌîд¸ñʽΪ:**¼Ó¶à³ö²¿·Ö';
1: Result:=SName+'ÏêϸÐÅÏ¢³¬¹ý5ÐÐ,³¬³ö²¿·ÖÇëÔÚ×°ÏäÃ÷ϸ×îºóÒ»¸ö»õÃèÖÐÌîд¸ñʽΪ:**¼Ó¶à³ö²¿·Ö';
end;
end;
2:begin
case BsTypeid of
0: Result:=SName+'ÏêϸÐÅÏ¢³¬¹ý5ÐÐ,³¬³ö²¿·ÖÇëÔÚ»ù±¾ÐÅÏ¢»õÃèÖÐÌîд¸ñʽΪ:***¼Ó¶à³ö²¿·Ö';
1: Result:=SName+'ÏêϸÐÅÏ¢³¬¹ý5ÐÐ,³¬³ö²¿·ÖÇëÔÚ×°ÏäÃ÷ϸ×îºóÒ»¸ö»õÃèÖÐÌîд¸ñʽΪ:***¼Ó¶à³ö²¿·Ö';
end;
end;
3:begin
case BsTypeid of
0: Result:=SName+'ÏêϸÐÅÏ¢²»Äܳ¬¹ý5ÐÐ';
1: Result:=SName+'ÏêϸÐÅÏ¢²»Äܳ¬¹ý5ÐÐ';
end;
end;
end;
end;
}
end;
function Tfrm_op_seae_edi_yml.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 񅧏=: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(¼þÊý)¼þÊý,sum(ÖØÁ¿) ÖØÁ¿,sum(³ßÂë) ³ßÂë 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,¼þÊý,ÖØÁ¿,³ßÂë from t_op_ctn');
SQL.Add('where 񅧏=: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('¼þÊý').AsInteger<>FieldByName('¼þÊý').AsInteger then
begin
if Trim(result)='' then
result:='·ÖÏä¼þÊýºÏ¼Æ:'+at_op_ctndetail.FieldByName('¼þÊý').AsString+'²»µÈÓÚÏä×ܼþÊý:'+FieldByName('¼þÊý').AsString
else result:=result+#13#10+'·ÖÏä¼þÊýºÏ¼Æ:'+at_op_ctndetail.FieldByName('¼þÊý').AsString+'²»µÈÓÚÏä×ܼþÊý:'+FieldByName('¼þÊý').AsString;
end;
if at_op_ctndetail.FieldByName('ÖØÁ¿').AsFloat<>FieldByName('ÖØÁ¿').AsFloat then
begin
if Trim(result)='' then
result:='·ÖÏäÖØÁ¿ºÏ¼Æ:'+at_op_ctndetail.FieldByName('ÖØÁ¿').AsString+'²»µÈÓÚÏä×ÜÖØÁ¿:'+FieldByName('ÖØÁ¿').AsString
else result:=result+#13#10+'·ÖÏäÖØÁ¿ºÏ¼Æ:'+at_op_ctndetail.FieldByName('ÖØÁ¿').AsString+'²»µÈÓÚÏä×ÜÖØÁ¿:'+FieldByName('ÖØÁ¿').AsString;
end;
if at_op_ctndetail.FieldByName('³ßÂë').AsFloat<>FieldByName('³ßÂë').AsFloat then
begin
if Trim(result)='' then
result:='·ÖÏä³ßÂëºÏ¼Æ:'+at_op_ctndetail.FieldByName('³ßÂë').AsString+'²»µÈÓÚÏä×ܳßÂë:'+FieldByName('³ßÂë').AsString
else result:=result+#13#10+'·ÖÏä³ßÂëºÏ¼Æ:'+at_op_ctndetail.FieldByName('³ßÂë').AsString+'²»µÈÓÚÏä×ܳßÂë:'+FieldByName('³ßÂë').AsString;
end;
Next;
end;
end;
end;
try
finally
at_op_ctn.Free;
at_op_ctndetail.Free;
end;
end;
function Tfrm_op_seae_edi_yml.isEditrue: boolean;
var
cntrs,s,Edis,cntrGoods,Goods,Lines:String;
sl:TStringList;
i:integer;
begin
result:=true;
SelectCarrier:=False;
sl:=TStringList.Create;
t_op_edi.Close;
t_op_edi.Parameters.ParamByName('񅧏').Value:=frm_op_seae.t_op_seae.fieldbyname('񅧏').asstring;
t_op_edi.Open;
if Edit1.Text='' then
begin
if trim(Edis)='' then
Edis:='·¢ËÍ·½´úÂë'
else Edis:=Edis+','+'·¢ËÍ·½´úÂë';
end;
if Edit2.Text='' then
begin
if trim(Edis)='' then
Edis:='·¢ËÍ·½Ãû³Æ'
else Edis:=Edis+','+'·¢ËÍ·½Ãû³Æ';
end;
if Edit3.Text='' then
begin
if trim(Edis)='' then
Edis:='½ÓÊÜ·½´úÂë'
else Edis:=Edis+','+'½ÓÊÜ·½´úÂë';
end;
if Edit4.Text='' then
begin
if trim(Edis)='' then
Edis:='½ÓÊÜ·½Ãû³Æ'
else Edis:=Edis+','+'½ÓÊÜ·½Ãû³Æ';
end;
{
if Edit5.Text='' then
begin
if trim(Edis)='' then
Edis:='¹Ì¶¨µç»°'
else Edis:=Edis+','+'¹Ì¶¨µç»°';
end;
if Edit7.Text='' then
begin
if trim(Edis)='' then
Edis:='ÁªÏµÈË'
else Edis:=Edis+','+'ÁªÏµÈË';
end;
if Edit6.Text='' then
begin
if trim(Edis)='' then
Edis:='ÓʼþµØÖ·'
else Edis:=Edis+','+'ÓʼþµØÖ·';
end;
if Edit12.Text='' then
begin
if trim(Edis)='' then
Edis:='ÓʼþµØÖ·'
else Edis:=Edis+','+'ÓʼþµØÖ·';
end;
}
if trim(Edis)<>'' then
begin
result:=false;
MessageDlg(trim(Edis)+'²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('HS±àÂë').asstring)='' then
begin
MessageDlg('×¢ÒâHS±àÂëΪ¿Õ',mtWarning,[mbOk],0);
end;
if not bsck.Checked then
begin
if trim(frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring)='' then begin
result:=false;
MessageDlg('Ìáµ¥ºÅ²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end
else
begin
if trim(t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring)='' then begin
result:=false;
MessageDlg('·Öµ¥Ìáµ¥ºÅ²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring)='' then begin
result:=false;
MessageDlg('¸¶·Ñ·½Ê½²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if RadioGroup1.ItemIndex=1 then
begin
if trim(frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring)='' then begin
result:=false;
MessageDlg('´¬Ãû²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('º½´Î').asstring)='' then begin
result:=false;
MessageDlg('º½´Î²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
aCarrier:=GetCarrier(6);
SelectCarrier:=true;
if not bsck.Checked then
begin
if trim(frm_op_seae.t_op_seae.fieldbyname('EDI±¸×¢').asString)='' then begin
if MessageDlg('×¢ÒâEDI±¸×¢Îª¿Õ,¼ÌÐø·¢ËÍÂð?',mtWarning,[mbyes,mbno],0)=mrNO then
begin
result:=false;
end;
end;
if pos(':',frm_op_seae.t_op_seae.fieldbyname('EDI±¸×¢').asString)>0 then begin
result:=false;
MessageDlg('EDI±¸×¢Öв»ÄÜÓÐ : ×Ö·û',mtWarning,[mbOk],0);
end;
end
else
begin
if trim(t_op_seae_assistant.fieldbyname('EDI±¸×¢').asString)='' then begin
if MessageDlg('×¢ÒâEDI±¸×¢Îª¿Õ,¼ÌÐø·¢ËÍÂð?',mtWarning,[mbyes,mbno],0)=mrNO then
begin
result:=false;
end;
end;
if pos(':',t_op_seae_assistant.fieldbyname('EDI±¸×¢').asString)>0 then begin
result:=false;
MessageDlg('EDI±¸×¢Öв»ÄÜÓÐ : ×Ö·û',mtWarning,[mbOk],0);
// exit;
end;
end;
{
if trim(frm_op_seae.t_op_seae.fieldbyname('×ܼÛ').asstring)='' then begin
result:=false;
MessageDlg('µÚÒ»²ã°üװƤÖز»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
exit;
end;
}
//µÚ¶þ֪ͨÈË
{
sl.Clear;
sl.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('µÚ¶þ֪ͨÈË').asstring);
for i:=0 to sl.Count-1 do
begin
if IsZhongwen(sl[i]) then
begin
result:=false;
MessageDlg('EDIÐÅÏ¢Öеڶþ֪ͨÈËÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
end;
if Length(sl[i])>35 then begin
result:=false;
MessageDlg('µÚ¶þ֪ͨÈËÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
end;
end;
if sl.Count>5 then
begin
result:=false;
MessageDlg('µÚ¶þ֪ͨÈ˲»ÄÜ´óÓÚ5ÐÐ!',mtWarning,[mbOk],0);
end;
}
sl.Clear;
sl.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('·¢»õÈË´úÂë').asstring);
for i:=0 to sl.Count-1 do begin
if IsZhongwen(sl[i]) then
begin
result:=false;
MessageDlg('EDIÐÅÏ¢Öз¢»õÈËÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
// Exit;
end;
if Length(sl[i])>35 then begin
result:=false;
MessageDlg('·¢»õÈËÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
// exit;
end;
end;
Lines:=ControlLines(sl.Count,0,0,'·¢»õÈË'); //LinesCount,CorpTypeid,BsTypeid:Integer;SName:string
if Lines<>'' then
begin
result:=false;
MessageDlg('EDIÐÅÏ¢ÖÐ'+Lines+'!',mtWarning,[mbOk],0);
// Exit;
end;
if bsck.Checked then
begin
sl.Text:=Changestr(t_op_seae_assistant.fieldbyname('·¢»õÈË´úÂë').asstring);
for i:=0 to sl.Count-1 do begin
if IsZhongwen(sl[i]) then begin
result:=false;
MessageDlg('·Öµ¥EDIÐÅÏ¢Öз¢»õÈËÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
// Exit;
end;
if Length(sl[i])>35 then begin
result:=false;
MessageDlg('·Öµ¥·¢»õÈËÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
// exit;
end;
end;
Lines:=ControlLines(sl.Count,0,1,'·¢»õÈË'); //LinesCount,CorpTypeid,BsTypeid:Integer;SName:string
if Lines<>'' then
begin
result:=false;
MessageDlg('·Öµ¥EDIÐÅÏ¢ÖÐ'+Lines+'!',mtWarning,[mbOk],0);
// Exit;
end;
end;
sl.Clear;
sl.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('ÊÕ»õÈË´úÂë').asstring);
for i:=0 to sl.Count-1 do begin
if IsZhongwen(sl[i]) then begin
result:=false;
MessageDlg('EDIÐÅÏ¢ÖÐÊÕ»õÈËÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
// Exit;
end;
if Length(sl[i])>35 then begin
result:=false;
MessageDlg('ÊÕ»õÈËÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
// exit;
end;
end;
Lines:=ControlLines(sl.Count,1,0,'ÊÕ»õÈË'); //LinesCount,CorpTypeid,BsTypeid:Integer;SName:string
if Lines<>'' then
begin
result:=false;
MessageDlg('EDIÐÅÏ¢ÖÐ'+Lines+'!',mtWarning,[mbOk],0);
// Exit;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='CY-DOOR' then
begin
IF frm_op_seae.t_op_seae.fieldbyname('DOORµØÖ·').asstring='' then
begin
result:=false;
MessageDlg('ÔËÊäÌõ¿îΪ:CY-DOOR,SHIPPING TOµØÖ·²»ÄÜΪ¿Õ ',mtWarning,[mbOk],0);
// exit;
end;
sl.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('DOORµØÖ·').asstring);
for i:=0 to sl.Count-1 do begin
if IsZhongwen(sl[i]) then begin
result:=false;
MessageDlg('EDIÐÅÏ¢ÖÐSHIPPING TOµØÖ·ÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
end;
if Length(sl[i])>35 then begin
result:=false;
MessageDlg('SHIPPING TOµØÖ·ÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
// exit;
end;
end;
end;
if bsck.Checked then
begin
sl.Text:=Changestr(t_op_seae_assistant.fieldbyname('ÊÕ»õÈË´úÂë').asstring);
for i:=0 to sl.Count-1 do
begin
if IsZhongwen(sl[i]) then
begin
result:=false;
MessageDlg('·Öµ¥EDIÐÅÏ¢ÖÐÊÕ»õÈËÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
// exit;
end;
if Length(sl[i])>35 then begin
result:=false;
MessageDlg('·Öµ¥ÊÕ»õÈËÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
// exit;
end;
end;
Lines:=ControlLines(sl.Count,1,1,'ÊÕ»õÈË'); //LinesCount,CorpTypeid,BsTypeid:Integer;SName:string
if Lines<>'' then
begin
result:=false;
MessageDlg('·Öµ¥EDIÐÅÏ¢ÖÐ'+Lines+'!',mtWarning,[mbOk],0);
// Exit;
end;
end;
sl.Clear;
sl.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('֪ͨÈË´úÂë').asstring);
for i:=0 to sl.Count-1 do begin
if IsZhongwen(sl[i]) then begin
result:=false;
MessageDlg('EDIÐÅÏ¢ÖÐ֪ͨÈËÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
end;
if Length(sl[i])>35 then begin
result:=false;
MessageDlg('֪ͨÈËÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
// exit;
end;
end;
Lines:=ControlLines(sl.Count,2,0,'֪ͨÈË'); //LinesCount,CorpTypeid,BsTypeid:Integer;SName:string
if Lines<>'' then
begin
result:=false;
MessageDlg('EDIÐÅÏ¢ÖÐ'+Lines+'!',mtWarning,[mbOk],0);
// Exit;
end;
if bsck.Checked then
begin
sl.Text:=Changestr(t_op_seae_assistant.fieldbyname('֪ͨÈË´úÂë').asstring);
for i:=0 to sl.Count-1 do begin
if IsZhongwen(sl[i]) then begin
result:=false;
MessageDlg('·Öµ¥EDIÐÅÏ¢ÖÐ֪ͨÈËÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
end;
if Length(sl[i])>35 then begin
result:=false;
MessageDlg('·Öµ¥Í¨ÖªÈËÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
// exit;
end;
end;
Lines:=ControlLines(sl.Count,2,1,'֪ͨÈË'); //LinesCount,CorpTypeid,BsTypeid:Integer;SName:string
if Lines<>'' then
begin
result:=false;
MessageDlg('·Öµ¥EDIÐÅÏ¢ÖÐ'+Lines+'!',mtWarning,[mbOk],0);
// Exit;
end;
end;
sl.Clear;
sl.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('ßéÍ·').asstring);
for i:=0 to sl.Count-1 do begin
if IsZhongwen(sl[i]) then begin
result:=false;
MessageDlg('EDIÐÅÏ¢ÖÐßéÍ·ÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
end;
if Length(sl[i])>35 then begin
result:=false;
MessageDlg('ßéÍ·ÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
// exit;
end;
end;
sl.Clear;
sl.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('»õÎïÃèÊö').asstring);
for i:=0 to sl.Count-1 do begin
if IsZhongwen(sl[i]) then begin
result:=false;
MessageDlg('EDIÐÅÏ¢ÖлõÎïÃèÊöÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
end;
end;
if bsck.Checked then
begin
sl.Text:=Changestr(t_op_seae_assistant.fieldbyname('ßéÍ·').asstring);
for i:=0 to sl.Count-1 do begin
if IsZhongwen(sl[i]) then begin
result:=false;
MessageDlg('·Öµ¥EDIÐÅÏ¢ÖÐßéÍ·ÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
end;
if Length(sl[i])>35 then begin
result:=false;
MessageDlg('·Öµ¥ßéÍ·ÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
// exit;
end;
end;
end;
if bsck.Checked then
begin
sl.Text:=Changestr(t_op_seae_assistant.fieldbyname('»õÎïÃèÊö').asstring);
for i:=0 to sl.Count-1 do begin
if IsZhongwen(sl[i]) then
begin
result:=false;
MessageDlg('·Öµ¥EDIÐÅÏ¢ÖлõÎïÃèÊöÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
end;
end;
end;
FreeAndNil(sl);
if trim(frm_op_seae.t_op_seae.fieldbyname('×°¸Û´úÂë').asstring)='' then begin
result:=false;
MessageDlg('×°¸Û´úÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
end;
if Length(trim(frm_op_seae.t_op_seae.fieldbyname('×°¸Û´úÂë').asstring))<>5 then begin
result:=false;
MessageDlg('×°¸Û´úÂë±ØÐëΪ5¸ö×Ö·û',mtWarning,[mbOk],0);
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('×°»õ¸Û').asstring)='' then begin
result:=false;
MessageDlg('ÆôÔ˸۲»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('¿ª´¬ÈÕÆÚ').asstring)='' then begin
result:=false;
MessageDlg('¿ª´¬ÈÕÆÚ²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if frm_op_seae.t_op_seae.fieldbyname('¿ª´¬ÈÕÆÚ').asDateTime<(now-120) then begin
result:=false;
MessageDlg('¿ª´¬ÈÕÆÚ±ØÐëÔÚ½ñÈÕµÄ120ÌìÄÚ!',mtWarning,[mbOk],0);
// exit;
end;
if RadioGroup1.ItemIndex=1 then
begin
if trim(frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring)='' then begin
result:=false;
MessageDlg('´¬Ãû²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('º½´Î').asstring)='' then begin
result:=false;
MessageDlg('º½´Î²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ').asstring)<>'' then
begin
if trim(frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ´úÂë').asstring)='' then begin
result:=false;
MessageDlg('Ä¿µÄµØ´úÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
end;
if Length(trim(frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ´úÂë').asstring))<>5 then
begin
result:=false;
MessageDlg('Ä¿µÄµØ´úÂë±ØÐëΪ5¸ö×Ö·û',mtWarning,[mbOk],0);
end;
end;
if trim(t_op_edi.fieldbyname('ÊÕ»õÈ˹ú¼Ò´úÂë').asstring)='' then begin
result:=false;
MessageDlg('ÊÕ»õÈ˹ú¼Ò´úÂë²»ÄÜΪ¿Õ£¡',mtWarning,[mbOk],0);
exit;
end;
if trim(t_op_edi.fieldbyname('֪ͨÈ˹ú¼Ò´úÂë').asstring)='' then begin
result:=false;
MessageDlg('֪ͨÈ˹ú¼Ò´úÂë²»ÄÜΪ¿Õ£¡',mtWarning,[mbOk],0);
exit;
end;
{
if trim(frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ').asstring)<>'' then
begin
if GetPortEdiID(trim(frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ').asstring))<>trim(frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ´úÂë').asstring) then
begin
if MessageDlg('ϵͳÖмÈëµÄÄ¿µÄµØEDI´úÂëºÍ¸Û¿Ú´úÂë±íÀïµÄEDI´úÂë²»Ò»ÖÂ,¼ÌÐø·¢ËÍÂð',mtWarning,[mbyes,mbno],0)=mrNO then
begin
result:=false;
end;
end;
end;
}
{
if trim(frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ').asstring)='' then begin
result:=false;
MessageDlg('Ä¿µÄµØ²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
//xit;
end;
}
{
if trim(frm_op_seae.t_op_seae.fieldbyname('½»»õµØµã').asstring)='' then begin
result:=false;
MessageDlg('½»»õµØµã²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
}
if trim(frm_op_seae.t_op_seae.fieldbyname('ж»õ´úÂë').asstring)='' then begin
result:=false;
MessageDlg('ж»õ´úÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
end;
if Length(trim(frm_op_seae.t_op_seae.fieldbyname('ж»õ´úÂë').asstring))<>5 then begin
result:=false;
MessageDlg('ж»õ´úÂë±ØÐëΪÎå¸ö×Ö·û',mtWarning,[mbOk],0);
// exit;
end;
if GetPortEdiID(trim(frm_op_seae.t_op_seae.fieldbyname('ж»õ¸Û').asstring))<>trim(frm_op_seae.t_op_seae.fieldbyname('ж»õ´úÂë').asstring) then
begin
if MessageDlg('ϵͳÖмÈëµÄж»õ¸ÛEDI´úÂëºÍ¸Û¿Ú´úÂë±íÀïµÄEDI´úÂë²»Ò»ÖÂ,¼ÌÐø·¢ËÍÂð',mtWarning,[mbyes,mbno],0)=mrNO then
begin
result:=false;
end;
end;
{
if trim(GetPortEdiID(frm_op_seae.t_op_seae.fieldbyname('ж»õ¸Û').asstring))='' then begin
result:=false;
MessageDlg('ж»õ´úÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
exit;
end;
}
if trim(frm_op_seae.t_op_seae.fieldbyname('ж»õ¸Û').asstring)='' then begin
result:=false;
MessageDlg('ж»õ¸Û²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if not bsck.Checked then
begin
if GetPkgCode(trim(frm_op_seae.t_op_seae.fieldbyname('°ü×°').asstring))='' then begin
result:=false;
MessageDlg('°ü×°´úÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end
else
begin
if GetPkgCode(trim(t_op_seae_assistant.fieldbyname('°ü×°').asstring))='' then begin
result:=false;
MessageDlg('°ü×°´úÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if not bsck.Checked then
begin
if trim(frm_op_seae.t_op_seae.fieldbyname('»õÎïÃèÊö').asstring)='' then
begin
result:=false;
MessageDlg('»õÎïÃèÊö²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end
else
begin
if trim(t_op_seae_assistant.fieldbyname('»õÎïÃèÊö').asstring)='' then
begin
result:=false;
MessageDlg('»õÎïÃèÊö²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if not bsck.Checked then
begin
if trim(frm_op_seae.t_op_seae.fieldbyname('ßéÍ·').asstring)='' then begin
result:=false;
MessageDlg('ßéÍ·²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end
else
begin
if trim(t_op_seae_assistant.fieldbyname('ßéÍ·').asstring)='' then begin
result:=false;
MessageDlg('ßéÍ·²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if not bsck.Checked then
begin
if frm_op_seae.t_op_seae.fieldbyname('¼þÊý').asinteger=0 then begin
result:=false;
MessageDlg('¼þÊý²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if frm_op_seae.t_op_seae.fieldbyname('ÖØÁ¿').asfloat=0 then begin
result:=false;
MessageDlg('ÖØÁ¿²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
{
if frm_op_seae.t_op_seae.fieldbyname('¾»ÖØ').asfloat=0 then begin
result:=false;
MessageDlg('¾»Öز»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
}
if frm_op_seae.t_op_seae.fieldbyname('³ßÂë').asfloat=0 then begin
result:=false;
MessageDlg('³ßÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end
else
begin
if t_op_seae_assistant.fieldbyname('¼þÊý').asinteger=0 then begin
result:=false;
MessageDlg('¼þÊý²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if t_op_seae_assistant.fieldbyname('ÖØÁ¿').asfloat=0 then begin
result:=false;
MessageDlg('ÖØÁ¿²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
{
if t_op_seae_assistant.fieldbyname('¾»ÖØ').asfloat=0 then begin
result:=false;
MessageDlg('¾»Öز»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
}
if t_op_seae_assistant.fieldbyname('³ßÂë').asfloat=0 then begin
result:=false;
MessageDlg('³ßÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if trim(frm_op_seae.t_op_seae.FieldByName('»õÎï±êʶ').asstring)='D' then begin
if Trim(frm_op_seae.t_op_seae.fieldbyname('ΣÏÕÆ··ÖÀà').asstring)='' then begin
result:=false;
MessageDlg('ΣÏÕÆ·µÈ¼¶²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if Trim(frm_op_seae.t_op_seae.fieldbyname('ΣÏÕÆ·±àºÅ').asstring)='' then begin
result:=false;
MessageDlg('ΣÏÕÆ·±àºÅ²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if GetStrNum(Trim(frm_op_seae.t_op_seae.fieldbyname('ΣÏÕÆ·±àºÅ').asstring))<>4 then begin
result:=false;
MessageDlg('ΣÏÕÆ·±àºÅ±ØÐëÊÇ4λÊý×Ö',mtWarning,[mbOk],0);
// exit;
end;
end;
if trim(frm_op_seae.t_op_seae.FieldByName('»õÎï±êʶ').asstring)='R' then begin
if Trim(frm_op_seae.t_op_seae.fieldbyname('ÉèÖÃζÈ').asstring)='' then begin
result:=false;
MessageDlg('ÉèÖÃζȲ»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if GetStrNum(trim(frm_op_seae.t_op_seae.fieldbyname('ÉèÖÃζÈ').asstring))<>3 then
begin
result:=false;
MessageDlg('ÉèÖÃζȱØÐëÊÇ3λÊý×Ö',mtWarning,[mbOk],0);
// exit;
end;
end;
if Pos('PREPAID',frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring)>0 then
if (trim(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring)='')
or (GetPortEdiID(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring)='') then
begin //¸¶¿îµØµã´úÂë
result:=false;
MessageDlg('Ô¤¸¶µØµã(»òedi´úÂë)²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if Pos('COLLECT',frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring)>0 then
if (trim(frm_op_seae.t_op_seae.fieldbyname('µ½¸¶µØµã').asstring)='')
or (frm_op_seae.t_op_seae.fieldbyname('µ½¸¶µØµã´úÂë').asstring='') then
begin //¸¶¿îµØµã´úÂë
result:=false;
MessageDlg('µ½¸¶µØµã(»òedi´úÂë)²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if RadioGroup1.ItemIndex=1 then begin
if (trim(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥µØµã').asstring)='')
or (GetPortEdiID(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥µØµã').asstring)='')
then begin //Ç©µ¥µØµã´úÂë
result:=false;
MessageDlg('Ç©µ¥µØµã(»òedi´úÂë)²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='' then begin
result:=false;
MessageDlg('ÔËÊäÌõ¿î²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
t_op_ctn.Close;t_op_ctn.SQL.Clear;
t_op_ctn.SQL.Add('SELECT t_op_ctn.±àºÅ,t_op_ctn.ÊýÁ¿, t_code_ctn.EDI´úÂë,t_op_ctn.³ß´ç,t_op_ctn.°ü×°');
t_op_ctn.SQL.Add(',t_op_ctn.ÏäÐÍ,t_op_ctn.ÏäºÅ,t_op_ctn.ÖØÁ¿,t_op_ctn.·âºÅ,t_op_ctn.³ßÂë,t_op_ctn.¼þÊý,t_op_ctn.Æ·Ãû');
t_op_ctn.SQL.Add('FROM t_op_ctn INNER JOIN');
t_op_ctn.SQL.Add('t_code_ctn ON t_op_ctn.´úÂë = t_code_ctn.´úÂë');
t_op_ctn.SQL.Add('WHERE t_op_ctn.񅧏=:񅧏');
t_op_ctn.Parameters.ParamByName('񅧏').Value:=frm_op_seae.t_op_seae.fieldbyname('񅧏').asstring;
t_op_ctn.open;
if t_op_ctn.IsEmpty then begin
result:=false;
MessageDlg('¼¯×°Ïä²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
t_op_ctn.first;
while not t_op_ctn.eof do
begin
cntrs:=GetCtnCode(t_op_ctn.fieldByName('ÏäÐÍ').asString,t_op_ctn.fieldByName('³ß´ç').asString);
if cntrs='' then begin
result:=false;
MessageDlg('¼¯×°ÏäÀàÐÍEDI´úÂë²»´æÔÚ!',mtWarning,[mbOk],0);
// exit;
end;
if t_op_ctn.fieldByName('Æ·Ãû').asString='' then
begin
if Goods='' then
Goods:=t_op_ctn.fieldByName('ÏäÐÍ').asString+t_op_ctn.fieldByName('³ß´ç').asString
else Goods:=Goods+#13#10+t_op_ctn.fieldByName('ÏäÐÍ').asString+t_op_ctn.fieldByName('³ß´ç').asString;
end;
t_op_ctn.next;
end;
{
if trim(Goods)<>'' then
MessageDlg('×¢Òâ'+#13#10+Goods+#13#10+'¼¯×°Ïä»õÎïÃû³ÆΪ¿Õ!',mtWarning,[mbOk],0);
}
if RadioGroup1.ItemIndex=1 then
begin
{
if t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='USA' then begin
if t_op_edi.FieldByName('²Õµ¥É걨Õß').asstring='' then begin
result:=false;
MessageDlg('²Õµ¥É걨Õß²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if t_op_edi.FieldByName('²Õµ¥É걨Õß').asstring='×Ô¼º' then begin
if t_op_edi.FieldByName('SCAC񅧏').asstring='' then begin
result:=false;
MessageDlg('SCAC±àºÅ²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if t_op_edi.FieldByName('ÊÕ»õÈËÓʱà').asstring='' then begin
result:=false;
MessageDlg('ÊÕ»õÈËÓʱ಻ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if t_op_edi.FieldByName('֪ͨÈËÓʱà').asstring='' then begin
result:=false;
MessageDlg('֪ͨÈËÓʱ಻ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if Trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊ䷽ʽ').asstring)='' then begin //ÉÌÆ·±àÂë
result:=false;
MessageDlg('ÉÌÆ·±àÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='CANADA' then begin
if t_op_edi.FieldByName('²Õµ¥É걨Õß').asstring='' then begin
result:=false;
MessageDlg('²Õµ¥É걨Õß²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if t_op_edi.FieldByName('²Õµ¥É걨Õß').asstring='×Ô¼º' then begin
if t_op_edi.FieldByName('SCAC񅧏').asstring='' then begin
result:=false;
MessageDlg('SCAC±àºÅ²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if t_op_edi.FieldByName('ÊÕ»õÈËÓʱà').asstring='' then begin
result:=false;
MessageDlg('ÊÕ»õÈËÓʱ಻ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='BRAZIL' then begin
if t_op_edi.FieldByName('ÊÕ»õÈ˹ú¼Ò´úÂë').asstring='' then begin
result:=false;
MessageDlg('ÊÕ»õÈ˹ú¼Ò´úÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if t_op_edi.FieldByName('ÊÕ»õÈËË°ºÅ').asstring='' then begin
result:=false;
MessageDlg('ÊÕ»õÈËË°ºÅ²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if t_op_edi.FieldByName('ÊÕ»õÈ˹ú¼Ò´úÂë').asstring<>'BR' then begin
if t_op_edi.FieldByName('֪ͨÈ˹ú¼Ò´úÂë').asstring='' then begin
result:=false;
MessageDlg('֪ͨÈ˹ú¼Ò´úÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
if t_op_edi.FieldByName('֪ͨÈËË°ºÅ').asstring='' then begin
result:=false;
MessageDlg('֪ͨÈËË°ºÅ²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
if t_op_edi.FieldByName('»õÎïNCM±àºÅ').asstring='' then begin
result:=false;
MessageDlg('»õÎïNCM±àºÅ²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
end;
cntrGoods:=GetCtnGoods(frm_op_seae.t_op_seae.fieldByName('񅧏').asString);
if trim(cntrGoods)<>'' then
begin
result:=false;
MessageDlg(cntrGoods,mtWarning,[mbOk],0);
// exit;
end;
}
t_op_ctn.Close;t_op_ctn.SQL.Clear;
t_op_ctn.SQL.Add('SELECT t_op_ctn.±àºÅ,t_op_ctn.ÊýÁ¿, t_code_ctn.EDI´úÂë,t_op_ctn.³ß´ç,t_op_ctn.°ü×°');
t_op_ctn.SQL.Add(',t_op_ctn.ÏäÐÍ,t_op_ctn.ÏäºÅ,t_op_ctn.ÖØÁ¿,t_op_ctn.·âºÅ,t_op_ctn.³ßÂë,t_op_ctn.¼þÊý');
t_op_ctn.SQL.Add('FROM t_op_ctn INNER JOIN');
t_op_ctn.SQL.Add('t_code_ctn ON t_op_ctn.´úÂë = t_code_ctn.´úÂë');
t_op_ctn.SQL.Add('WHERE t_op_ctn.񅧏=:񅧏');
t_op_ctn.Parameters.ParamByName('񅧏').Value:=frm_op_seae.t_op_seae.fieldbyname('񅧏').asstring;
t_op_ctn.open;
if t_op_ctn.IsEmpty then begin
result:=false;
MessageDlg('ÏäºÅ·âºÅ²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
// exit;
end;
t_op_ctn.first;
while not t_op_ctn.eof do
begin
cntrs:=t_op_ctn.fieldByName('ÏäºÅ').asString;
if GetCtnCode(t_op_ctn.fieldByName('ÏäÐÍ').asstring,t_op_ctn.fieldByName('³ß´ç').asstring)='' then begin
result:=false;
MessageDlg('¼¯×°ÏäÀàÐÍEDI´úÂë²»´æÔÚ!',mtWarning,[mbOk],0);
// exit;
end;
if ((GetStrNum(cntrs))<>7) or ((GetcharNum(cntrs))<>4) then begin
result:=false;
MessageDlg('¼¯×°ÏäÏäºÅ²»ÕýÈ·!',mtWarning,[mbOk],0);
// exit;
end;
t_op_ctn.next;
end;
{
if t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='°ÍÎ÷' then
begin
if frm_op_seae.t_op_seae.fieldByName('×ܼÛ').asfloat=0 then
begin
result:=false;
MessageDlg('ÏäƤÖز»ÄÜΪ¿Õ!',mtWarning,[mbOk],0);
// exit;
end;
end;
}
end;
end;
function Tfrm_op_seae_edi_yml.get_goods(str:widestring):widestring;
var
str_all:Tstringlist;
r_str:widestring;
i:integer;
begin
str:=Changestr(trim(str));
str_all:=Tstringlist.Create;
str_all.Text:=str;
for i:=0 to str_all.Count-1 do
begin
r_str:=r_str+' '+str_all[i];
end;
result:=trim(r_str);
end;
function Tfrm_op_seae_edi_yml.GetCtnCode(ctnkind,ctnsize:String): String;
var
aQuery:TADOQuery;
begin
aQuery:=CreateAdoQuery;
ctnsize:=StringReplace(ctnsize,'''','''''',[rfReplaceAll]);
try
with aQuery do begin
Close;SQL.Clear;
SQL.Add('Select EDI´úÂë from t_code_ctn where ÏäÐÍ='''+ctnkind+''' and ³ß´ç='''+ctnsize+'''');
Open;
if not IsEmpty then
Result:=Trim(FieldByName('EDI´úÂë').asstring)
else
Result:='';
end;
finally
FreeAndNil(aQuery);
end;
end;
function Tfrm_op_seae_edi_yml.GetPkgCode(Pkg:String): String;
var
aQuery:TADOQuery;
begin
aQuery:=CreateAdoQuery;
try
with aQuery do begin
Close;SQL.Clear;
SQL.Add('Select EDI´úÂë from t_code_package where ´úÂë='''+pkg+'''');
Open;
if not IsEmpty then
Result:=Trim(FieldByName('EDI´úÂë').asstring)
else
Result:='';
end;
finally
FreeAndNil(aQuery);
end;
end;
function Tfrm_op_seae_edi_yml.GetPort(PortID:String): String;
var
aQuery:TADOQuery;
begin
aQuery:=CreateAdoQuery;
try
with aQuery do begin
Close;SQL.Clear;
SQL.Add('Select ¸Û¿ÚÃû³Æ Ó¢ÎÄÃû from t_code_edi_port where EDI´úÂë='''+PortID+'''');
Open;
if not IsEmpty then
Result:=Trim(FieldByName('Ó¢ÎÄÃû').asstring)
else
Result:='';
end;
finally
FreeAndNil(aQuery);
end;
end;
function Tfrm_op_seae_edi_yml.GetLoadPortEdiID(Port:String): String;
var
aQuery:TADOQuery;
begin
aQuery:=CreateAdoQuery;
try
with aQuery do begin
Close;SQL.Clear;
SQL.Add('Select EDI´úÂë from t_code_loaport where Ó¢ÎÄÃû='''+Port+'''');
Open;
if not IsEmpty then
Result:=Trim(FieldByName('EDI´úÂë').asstring)
else
Result:='';
end;
finally
FreeAndNil(aQuery);
end;
end;
function Tfrm_op_seae_edi_yml.GetPortEdiID(Port:String): String;
var
aQuery:TADOQuery;
begin
aQuery:=CreateAdoQuery;
try
with aQuery do begin
Close;SQL.Clear;
SQL.Add('Select EDI´úÂë from t_code_disport where Ó¢ÎÄÃû='''+Port+'''');
Open;
if not IsEmpty then
Result:=Trim(FieldByName('EDI´úÂë').asstring)
else
Result:='';
end;
finally
FreeAndNil(aQuery);
end;
end;
function Tfrm_op_seae_edi_yml.GetShipEdiNO(Ship:String): String;
var
aQuery:TADOQuery;
begin
aQuery:=CreateAdoQuery;
try
with aQuery do begin
Close;SQL.Clear;
SQL.Add('Select ´úÂë,EDI´úÂë,¿Í»§¼ò³Æ,¿Í»§È«³Æ,À¿»õÈË,¼ÈëÈË,¼ÈëÈÕÆÚ from t_crm_client');
SQL.Add('where ¿Í»§ÐÔÖÊ<>''Ä¿±ê'' and ´¬¹«Ë¾=1 and ¿Í»§¼ò³Æ='''+Ship+'''');
SQL.Add('order by ´úÂë');
Open;
if not IsEmpty then
Result:=Trim(FieldByName('EDI´úÂë').asstring)
else
Result:='';
end;
finally
FreeAndNil(aQuery);
end;
end;
function Tfrm_op_seae_edi_yml.Changestr(str:widestring):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_yml.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 (str[i]<>' ') 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_yml.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_yml.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;
function Tfrm_op_seae_edi_yml.GetCharNum(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 ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] then
result:=result+1;
end;
end;
function Tfrm_op_seae_edi_yml.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)) or (Str[i]=Chr(9)) then begin
// if (Str[i]>Chr(127)) or (Str[i]=Chr(9)) or (Str[i]='<') or (Str[i]='>') then begin
Result:=True;
Exit;
end;
end;
end;
function Tfrm_op_seae_edi_yml.get_txtBooking(str:Tstringlist):integer;
var
str_all,sl:Tstringlist;
j,Count,i,k:integer;
str_guodu,str_shr,str_con,str_not:widestring;
str_pay,Str_head:string;
function CutVoyNo(VoyNo:String):String;
begin
if length(VoyNO)<3 then exit;
if Pos('.',VoyNO)>0 then begin
Result:=Copy(VoyNO,3,length(VoyNO)-2);
end else
Result:=VoyNO;
end;
begin
str_all:=Tstringlist.Create;
count:=0;
str.Add('UNB+UNOC:2+'+Edit1.TEXT+'SO'+':ZZZ+'+Edit3.TEXT
+':ZZZ+'+GetDatetime(datetimetostr(now),2)+'+'
+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+#39);
count:=count+1;
str.Add('UNH+'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+'+IFTMIN:D:99B:UN'+#39);
count:=count+1;
if not bsck.Checked then
begin
if RadioGroup3.ItemIndex=0 then
str.Add('BGM+335+'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+'SO+9'+#39) //9ԭʼ 5 ¸üÐÂ
else str.Add('BGM+335+'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+'SO+5'+#39); //9ԭʼ 5 ¸üÐÂ
end
else
begin
if RadioGroup3.ItemIndex=0 then
str.Add('BGM+335+'+t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+'SO+9'+#39) //9ԭʼ 5 ¸üÐÂ
else str.Add('BGM+335+'+t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+'SO+5'+#39); //9ԭʼ 5 ¸üÐÂ
end;
count:=count+1;
str.Add('DTM+137:'+GetDatetime(datetimetostr(now),1)+':203'+#39);
count:=count+1;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='' then
begin
showmessage('ÒµÎñ±àºÅΪ£º'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring
+'µÄÒµÎñÔËÊäÌõ¿îûÓÐÊäÈ룡£¡');
result:=-1;
exit;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='DOOR-DOOR' then
begin
str.Add('TSR+27+2'+#39);
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='DOOR-CY' then
begin
str.Add('TSR+28+2'+#39);
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='CY-DOOR' then
begin
str.Add('TSR+29+2'+#39);
end;
if (trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='CY-CY')
or (trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='CY-RAMP') then
begin
str.Add('TSR+30+2'+#39);
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='OTHER' then
begin
str.Add('TSR+30+2'+#39);
end;
count:=count+1;
if Pos('PREPAID',frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring)>0 then
str_pay:=trim(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring);
if Pos('COLLECT',frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring)>0 then
str_pay:=trim(frm_op_seae.t_op_seae.fieldbyname('µ½¸¶µØµã').asstring);
if not bsck.Checked then
begin
str.Add('FTX+AAI+++'+frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring
+' Payable at '+str_pay+' '+
frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring+
' '+frm_op_seae.t_op_seae.fieldbyname('¼þÊý').asstring+
trim(frm_op_seae.t_op_seae.fieldbyname('°ü×°').asstring)+' '+Changestr(frm_op_seae.t_op_seae.fieldbyname('EDI±¸×¢').asString)+#39);
end
else
begin
str.Add('FTX+AAI+++'+frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring
+' Payable at '+str_pay+' '+
frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring+
' '+t_op_seae_assistant.fieldbyname('¼þÊý').asstring+
trim(t_op_seae_assistant.fieldbyname('°ü×°').asstring)+' '+Changestr(t_op_seae_assistant.fieldbyname('EDI±¸×¢').asString)+#39);
end;
count:=count+1;
if not bsck.Checked then
str.Add('CNT+7:'+frm_op_seae.t_op_seae.fieldbyname('ÖØÁ¿').asstring+':KGM''')
else
str.Add('CNT+7:'+t_op_seae_assistant.fieldbyname('ÖØÁ¿').asstring+':KGM''');
count:=count+1;
if not bsck.Checked then
str.Add('CNT+11:'+frm_op_seae.t_op_seae.fieldbyname('¼þÊý').asstring+'''')
else str.Add('CNT+11:'+t_op_seae_assistant.fieldbyname('¼þÊý').asstring+'''');
count:=count+1;
if not bsck.Checked then
str.Add('CNT+15:'+frm_op_seae.t_op_seae.fieldbyname('³ßÂë').asstring+':MTQ''')
else str.Add('CNT+15:'+t_op_seae_assistant.fieldbyname('³ßÂë').asstring+':MTQ''');
count:=count+1;
if frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring='FREIGHT PREPAID' then
begin
str.Add('LOC+57+'+GetPortEdiID(trim(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring))
+'::6:'+trim(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring)+#39);
end
else
if frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring='FREIGHT COLLECT' then begin
str.Add('LOC+57+'+trim(frm_op_seae.t_op_seae.fieldbyname('µ½¸¶µØµã´úÂë').asstring)
+'::6:'+trim(frm_op_seae.t_op_seae.fieldbyname('µ½¸¶µØµã').asstring)+#39);
end
else
str.Add('LOC+57+'+GetPortEdiID(trim(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring))
+'::6:'+trim(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring)+#39);
count:=count+1;
if not bsck.Checked then
str.Add('RFF+BN:'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39)
else str.Add('RFF+BN:'+t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39);
count:=count+1;
if not bsck.Checked then
str.Add('RFF+BM:'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39)
else str.Add('RFF+BM:'+t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39);
count:=count+1;
str.Add('RFF+CT:'+frm_op_seae.t_op_seae.fieldbyname('ÔË·ÑЭÒéºÅ').asstring+#39); //
count:=count+1;
if Pos('PREPAID',frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring)>0 then
str.Add('CPI+4++P''')
else if Pos('COLLECT',frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring)>0 then
str.Add('CPI+4++C''')
else str.Add('CPI+4++B''');
count:=count+1;
if Trim(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)<>'' then
begin
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)
+'+1+++++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39);
count:=count+1;
end
else
begin
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('º½´Î').asstring)
+'+1+++++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39);
count:=count+1;
end;
str.Add('LOC+9+'+frm_op_seae.t_op_seae.fieldbyname('×°¸Û´úÂë').asstring
+':139:6:'+trim(frm_op_seae.t_op_seae.fieldbyname('×°»õ¸Û').asstring)+#39);
count:=count+1;
str.Add('DTM+133:'+GetDatetime(datetimetostr(frm_op_seae.t_op_seae.fieldbyname('¿ª´¬ÈÕÆÚ').asDatetime),0)+':102'+#39);
count:=count+1;
str.Add('LOC+88+'+frm_op_seae.t_op_seae.fieldbyname('×°¸Û´úÂë').asstring
+':139:6:'+trim(frm_op_seae.t_op_seae.fieldbyname('×°»õ¸Û').asstring)+#39);
count:=count+1;
str.Add('LOC+11+'+frm_op_seae.t_op_seae.fieldbyname('ж»õ´úÂë').asstring
+':139:6:'+trim(frm_op_seae.t_op_seae.fieldbyname('ж»õ¸Û').asstring)+#39);
count:=count+1;
if trim(frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ').asstring)<>'' then
begin
str.Add('LOC+7+'+frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ´úÂë').asstring //?
+':139:6:'+trim(frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ').asstring)+#39);
count:=count+1;
end;
str_all.Clear;
str_head:='';
if not bsck.Checked then
begin
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('·¢»õÈË´úÂë').asstring);
end
else
begin
str_all.Text:=Changestr(t_op_seae_assistant.fieldbyname('·¢»õÈË´úÂë').asstring);
end;
GetLengthTString(str_all,35);
str_guodu:='NAD+CZ+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
if str_all.Count>5 then
begin
for j:=2 to 3 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
str_guodu:=str_guodu+':'+Copy(str_all[4],1,34)+'*';
Str_shr:='*'+Copy(str_all[4],34,1);
for j:=5 to str_all.Count-1 do begin
Str_shr:=Str_shr+' '+str_all[j]
end;
end;
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
count:=count+1;
str_head:='';
str_all.Clear;
if not bsck.Checked then
begin
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('ÊÕ»õÈË´úÂë').asstring);
end
else
begin
str_all.Text:=Changestr(t_op_seae_assistant.fieldbyname('ÊÕ»õÈË´úÂë').asstring);
end;
GetLengthTString(str_all,35);
str_guodu:='NAD+CN+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
if str_all.Count>5 then
begin
for j:=2 to 3 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
str_guodu:=str_guodu+':'+Copy(str_all[4],1,33)+'**';
Str_con:='**'+Copy(str_all[4],33,1);
for j:=5 to str_all.Count-1 do begin
Str_con:=Str_con+' '+str_all[j]
end;
end;
{
if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='ÃÀ¹ú') then begin
str_guodu:=str_guodu+'+++'+t_op_edi.FieldByName('ÊÕ»õÈËÓʱà').asstring+#39;
str.Add(str_guodu);
end else if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='¼ÓÄôó') then begin
str_guodu:=str_guodu+'+++'+t_op_edi.FieldByName('ÊÕ»õÈËÓʱà').asstring+'+CA'+#39;
str.Add(str_guodu);
end else if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='°ÍÎ÷') then begin
str_guodu:=str_guodu+'++++'+t_op_edi.FieldByName('ÊÕ»õÈ˹ú¼Ò´úÂë').asstring+#39;
str.Add(str_guodu);
str.Add('RFF+GN:'+t_op_edi.FieldByName('ÊÕ»õÈËË°ºÅ').asstring+#39); //
count:=count+1;
end else begin
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
end;
}
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
count:=count+1;
str_head:='';
str_all.Clear;
if not bsck.Checked then
begin
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('֪ͨÈË´úÂë').asstring);
end
else
begin
str_all.Text:=Changestr(t_op_seae_assistant.fieldbyname('֪ͨÈË´úÂë').asstring);
end;
GetLengthTString(str_all,35);
str_guodu:='NAD+N1+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
if str_all.Count>5 then
begin
for j:=2 to 3 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
str_guodu:=str_guodu+':'+Copy(str_all[4],1,32)+'***';
Str_not:='***'+Copy(str_all[4],32,1);
for j:=5 to str_all.Count-1 do begin
Str_not:=Str_not+' '+str_all[j]
end;
end;
{
if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='ÃÀ¹ú') then begin
str_guodu:=str_guodu+'+++'+t_op_edi.FieldByName('֪ͨÈËÓʱà').asstring+#39;
str.Add(str_guodu);
end else if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='¼ÓÄôó') then begin
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
end else if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='°ÍÎ÷') then begin
if t_op_edi.FieldByName('֪ͨÈ˹ú¼Ò´úÂë').asstring<>'' then
str_guodu:=str_guodu+'++++'+t_op_edi.FieldByName('֪ͨÈ˹ú¼Ò´úÂë').asstring+#39
else
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
if t_op_edi.FieldByName('֪ͨÈËË°ºÅ').asstring<>'' then begin
str.Add('RFF+GN:'+t_op_edi.FieldByName('֪ͨÈËË°ºÅ').asstring+#39); //
count:=count+1;
end;
end else begin
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
end;
}
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
count:=count+1;
if SelectCarrier then
begin
str.Add('NAD+CA+'+aCarrier.EdiNo+':160:86++'+aCarrier.CarrierName+#39);
count:=count+1;
end
else
begin
str.Add('NAD+CA+'+GetShipEdiNO(frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring)+':160:86++'+frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring+#39);
count:=count+1;
end;
{
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='DOOR-DOOR' then
begin
if not bsck.Checked then
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('·¢»õÈË´úÂë').asstring)
else str_all.Text:=Changestr(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('·¢»õÈË´úÂë').asstring);
GetLengthTString(str_all,35);
str_guodu:='NAD+SF+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
if str_all.Count>5 then
begin
for j:=2 to 4 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
count:=count+1;
str.Add('CTA+IC+:'+edit7.text+'''');
count:=count+1;
str.Add('COM+'+Edit5.text+':TE'+#39);
count:=count+1;
str.Add('COM+'+Edit6.text+':EM'+#39);
count:=count+1;
str_head:='';
str_all.Clear;
if not bsck.Checked then begin
if t_op_edi.fieldbyname('ËùÔÚ¹ú¼Ò').AsString<>'' then
begin
str_all.Text:=Changestr(t_op_edi.fieldbyname('AMSÊÕ»õÈË').asstring); //t_op_edi
end
else
begin
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('ÊÕ»õÈË´úÂë').asstring);
end;
if (pos('TO ORDER',UpperCase(str_all.Text))>0) or (pos('SAME AS',UpperCase(str_all.Text))>0) then
if t_op_edi.fieldbyname('ËùÔÚ¹ú¼Ò').AsString<>'' then
begin
str_all.Text:=Changestr(t_op_edi.fieldbyname('֪ͨÈË´úÂë').asstring);
end
else
begin
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('֪ͨÈË´úÂë').asstring);
end;
end
else
begin
str_all.Text:=Changestr(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('ÊÕ»õÈË´úÂë').asstring);
end;
GetLengthTString(str_all,35);
str_guodu:='NAD+ST+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
if str_all.Count>5 then
begin
for j:=2 to 4 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
count:=count+1;
str.Add('CTA+IC+:'+edit7.text+'''');
count:=count+1;
str.Add('COM+'+Edit5.text+':TE'+#39);
count:=count+1;
str.Add('COM+'+Edit6.text+':EM'+#39);
count:=count+1;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='DOOR-CY' then
begin
str_all.Text:=Changestr(edit12.text);
GetLengthTString(str_all,35);
str_guodu:='NAD+SF+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
if str_all.Count>5 then
begin
for j:=2 to 4 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
count:=count+1;
str.Add('CTA+IC+:'+edit7.text+'''');
count:=count+1;
str.Add('COM+'+Edit5.text+':TE'+#39);
count:=count+1;
str.Add('COM+'+Edit6.text+':EM'+#39);
count:=count+1;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='CY-DOOR' then
begin
str_head:='';
str_all.Clear;
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('DOORµØÖ·').asstring);
GetLengthTString(str_all,35);
str_guodu:='NAD+ST+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
if str_all.Count>5 then
begin
for j:=2 to 4 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
count:=count+1;
str.Add('CTA+IC+:'+edit7.text+'''');
count:=count+1;
str.Add('COM+'+Edit5.text+':TE'+#39);
count:=count+1;
str.Add('COM+'+Edit6.text+':EM'+#39);
count:=count+1;
end;
if Length(Edit2.text)<=35 then
str.Add('NAD+FW+'+Edit1.TEXT+':160:86++'+Edit2.text+#39)
else str.Add('NAD+FW+'+Edit1.TEXT+':160:86++'+Copy(Edit2.text,1,35)+'+'+Copy(Edit2.text,35,35)+#39);
count:=count+1;
}
if Length(Edit2.text)<=35 then
str.Add('NAD+HI+'+Edit1.TEXT+':160:86++'+Edit2.text+#39)
else str.Add('NAD+HI+'+Edit1.TEXT+':160:86++'+Copy(Edit2.text,1,35)+'+'+Copy(Edit2.text,35,35)+#39);
count:=count+1;
str.Add('CTA+IC+:'+edit7.text+'''');
count:=count+1;
str.Add('COM+'+Edit5.text+':TE'+#39);
count:=count+1;
str.Add('COM+'+Edit6.text+':EM'+#39);
count:=count+1;
{
str.Add('NAD+MR+++'+edit2.text+'''');
count:=count+1;
str.Add('CTA+NT+:'+Edit7.text+#39);
count:=count+1;
str.Add('COM+'+Edit6.text+':EM'+#39);
count:=count+1;
}
if not bsck.Checked then
begin
str.Add('GID+1+'+frm_op_seae.t_op_seae.fieldbyname('¼þÊý').asstring+':'+
GetPkgCode(trim(frm_op_seae.t_op_seae.fieldbyname('°ü×°').asstring))+'::6:'+frm_op_seae.t_op_seae.fieldbyname('°ü×°').asstring+#39); //£¿
end
else
begin
str.Add('GID+1+'+t_op_seae_assistant.fieldbyname('¼þÊý').asstring+':'+
GetPkgCode(trim(t_op_seae_assistant.fieldbyname('°ü×°').asstring))+'::6:'+t_op_seae_assistant.fieldbyname('°ü×°').asstring+#39); //£¿
end;
count:=count+1;
if Trim(frm_op_seae.t_op_seae.fieldbyname('HS±àÂë').asstring)<>'' then
begin
str.Add('PIA+5+'+frm_op_seae.t_op_seae.fieldbyname('HS±àÂë').asstring+':HS'+#39); //£¿
count:=count+1;
end;
sl:=TStringList.Create;
try
if not bsck.Checked then
begin
sl.text:=frm_op_seae.t_op_seae.fieldbyname('»õÎïÃèÊö').asstring;
end
else
begin
sl.text:=t_op_seae_assistant.fieldbyname('»õÎïÃèÊö').asstring;
end;
for i:=0 to sl.Count-1 do begin
str.Add('FTX+AAA+++'+Changestr(sl.Strings[i])+''+#39);
count:=count+1;
end;
finally
FreeAndNil(sl);
end;
if Trim(str_shr)<>'' then begin
str.Add('FTX+AAA+++'+
Str_shr+#39);
count:=count+2;
end;
if Trim(str_con)<>'' then begin
str.Add('FTX+AAA+++'+
Str_con+#39);
count:=count+2;
end;
if Trim(str_not)<>'' then begin
str.Add('FTX+AAA+++'+
Str_not+#39);
count:=count+2;
end;
if not bsck.Checked then
begin
str.Add('MEA+AAE+WT+KGM:'+frm_op_seae.t_op_seae.fieldbyname('ÖØÁ¿').asstring+#39);
count:=count+1;
str.Add('MEA+AAE+AAW+MTQ:'+frm_op_seae.t_op_seae.fieldbyname('³ßÂë').asstring+#39);
count:=count+1;
end
else
begin
str.Add('MEA+AAE+WT+KGM:'+t_op_seae_assistant.fieldbyname('ÖØÁ¿').asstring+#39);
count:=count+1;
str.Add('MEA+AAE+AAW+MTQ:'+t_op_seae_assistant.fieldbyname('³ßÂë').asstring+#39);
count:=count+1;
end;
sl:=TStringList.Create;
try
if not bsck.Checked then
begin
sl.text:=frm_op_seae.t_op_seae.fieldbyname('ßéÍ·').asString;
end
else
begin
sl.text:=t_op_seae_assistant.fieldbyname('ßéÍ·').asString;
end;
GetLengthTString(sl,35);
for i:=0 to sl.Count-1 do begin
str.Add('PCI++'+Changestr(sl.Strings[i])+''+#39);
count:=count+1;
end;
finally
FreeAndNil(sl);
end;
if frm_op_seae.t_op_seae.FieldByName('»õÎï±êʶ').asstring='D' then
begin
str.Add('DGS+IMD+'+frm_op_seae.t_op_seae.fieldbyname('ΣÏÕÆ··ÖÀà').asstring
+'+'+frm_op_seae.t_op_seae.fieldbyname('ΣÏÕÆ·±àºÅ').asstring+#39);
count:=count+1;
str.Add('CTA+HG+:'+edit7.text+#39);
count:=count+1;
str.Add('COM+'+Edit5.text+':TE'+#39);
count:=count+1;
end;
t_op_ctn.Close;t_op_ctn.SQL.Clear;
t_op_ctn.SQL.Add('SELECT t_op_ctn.±àºÅ,t_op_ctn.ÊýÁ¿, t_code_ctn.EDI´úÂë,t_op_ctn.³ß´ç,t_op_ctn.°ü×°');
t_op_ctn.SQL.Add(',t_op_ctn.ÏäÐÍ,t_op_ctn.ÏäºÅ,t_op_ctn.ÖØÁ¿,t_op_ctn.·âºÅ,t_op_ctn.³ßÂë,t_op_ctn.¼þÊý');
t_op_ctn.SQL.Add('FROM t_op_ctn INNER JOIN');
t_op_ctn.SQL.Add('t_code_ctn ON t_op_ctn.´úÂë = t_code_ctn.´úÂë');
t_op_ctn.SQL.Add('WHERE t_op_ctn.񅧏=:񅧏');
t_op_ctn.close;
t_op_ctn.Parameters.ParamByName('񅧏').Value:=frm_op_seae.t_op_seae.fieldbyname('񅧏').asstring;
t_op_ctn.open;
t_op_ctn.first;
while not t_op_ctn.eof do
begin
if frm_op_seae.t_op_seae.fieldbyname('ÊÇ·ñ×ÔÓÐÏä').asboolean then
str.Add('EQD+CN++'+GetCtnCode(t_op_ctn.fieldbyname('ÏäÐÍ').asstring,t_op_ctn.fieldbyname('³ß´ç').asstring)+'+1'+#39)
else
str.Add('EQD+CN++'+GetCtnCode(t_op_ctn.fieldbyname('ÏäÐÍ').asstring,t_op_ctn.fieldbyname('³ß´ç').asstring)+'+2'+#39); //ÏäÐÍ ¶àÏäÐÍ
count:=count+1;
str.Add('EQN+'+t_op_ctn.fieldbyname('ÊýÁ¿').asstring+#39); //ÊýÁ¿
count:=count+1;
if frm_op_seae.t_op_seae.FieldByName('»õÎï±êʶ').asstring='R' then
begin
if Trim(frm_op_seae.t_op_seae.fieldbyname('Àä²Øͨ·çÁ¿').asstring)<>'' then
begin
str.Add('MEA+AAE+AAS+CBM:'+frm_op_seae.t_op_seae.fieldbyname('Àä²Øͨ·çÁ¿').asstring+#39);
count:=count+1;
end;
end;
if frm_op_seae.t_op_seae.FieldByName('»õÎï±êʶ').asstring='R' then
begin
str.Add('TMP+2+'+frm_op_seae.t_op_seae.fieldbyname('ÉèÖÃζÈ').asstring+':CEL'+#39);
count:=count+1;
end;
t_op_ctn.next;
end;
count:=count+1;
result:=count;
end;
function Tfrm_op_seae_edi_yml.get_txtSI(str: Tstringlist): integer; //ÌᵥȷÈÏ
var
str_all,sl:Tstringlist;
ctnlist:TStringList;
j,Count,i,k,Lineno:integer;
str_guodu,str_shr,str_con,str_not:widestring;
str_pay,Str_head,str1,str2,CopyBillCount:string;
aAdoQuery:TAdoQuery;
function CutVoyNo(VoyNo:String):String;
begin
if length(VoyNO)<3 then exit;
if Pos('.',VoyNO)>0 then begin
Result:=Copy(VoyNO,3,length(VoyNO)-2);
end else
Result:=VoyNO;
end;
begin
str_all:=Tstringlist.Create;
count:=0;
str.Add('UNB+UNOC:2+'+Edit1.TEXT+':ZZZ+'+Edit3.TEXT
+':ZZZ+'+GetDatetime(datetimetostr(now),2)+'+'
+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+#39);
count:=count+1;
str.Add('UNH+'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+'+IFTMIN:D:99B:UN'+#39);
count:=count+1;
if not bsck.checked then
begin
if RadioGroup3.ItemIndex=0 then
str.Add('BGM+340+'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+'+9'+#39)
else str.Add('BGM+340+'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+'+5'+#39);
count:=count+1;
end
else
begin
if RadioGroup3.ItemIndex=0 then
str.Add('BGM+340+'+t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+'+9'+#39)
else str.Add('BGM+340+'+t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+'+5'+#39);
count:=count+1;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='' then
begin
showmessage('ÒµÎñ±àºÅΪ£º'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring
+'µÄÒµÎñÔËÊäÌõ¿îûÓÐÊäÈ룡£¡');
result:=-1;
exit;
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='DOOR-DOOR' then
begin
str.Add('TSR+27+2'+#39);
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='DOOR-CY' then
begin
str.Add('TSR+28+2'+#39);
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='CY-DOOR' then
begin
str.Add('TSR+29+2'+#39);
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='CY-CY' then
begin
str.Add('TSR+30+2'+#39);
end;
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring)='OTHER' then
begin
str.Add('TSR+30+2'+#39);
end;
count:=count+1;
if Pos('PREPAID',frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring)>0 then
str_pay:=trim(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring);
if Pos('COLLECT',frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring)>0 then
str_pay:=trim(frm_op_seae.t_op_seae.fieldbyname('µ½¸¶µØµã').asstring);
{
if not bsck.checked then
begin
str.Add('FTX+AAI+++'+frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring
+' Payable at '+str_pay+' '+
frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring+
' '+frm_op_seae.t_op_seae.fieldbyname('¼þÊý').asstring+
trim(frm_op_seae.t_op_seae.fieldbyname('°ü×°').asstring)+#39);
count:=count+1;
end
else
begin
str.Add('FTX+AAI+++'+frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring
+' Payable at '+str_pay+' '+
frm_op_seae.t_op_seae.fieldbyname('ÔËÊäÌõ¿î').asstring+
' '+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('¼þÊý').asstring+
trim(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('°ü×°').asstring)+#39);
count:=count+1;
end;
}
sl:=TStringList.Create;
try
if not bsck.checked then
sl.text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('EDI±¸×¢').asString)
else sl.text:=Changestr(t_op_seae_assistant.fieldbyname('EDI±¸×¢').asString);
for i:=0 to sl.Count-1 do begin
str.Add('FTX+AAI+++'+sl.Strings[i]+''+#39);
count:=count+1;
end;
finally
FreeAndNil(sl);
end;
{
if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='¼ÓÄôó') then begin
if (t_op_edi.FieldByName('SCAC񅧏').asstring<>'') then
str.Add('FTX+CCI++MFS+1:CA:'+t_op_edi.FieldByName('SCAC񅧏').asstring+#39)
else
str.Add('FTX+CCI++MFS+5:CA'+#39);
end;
if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='ÃÀ¹ú') then begin
if (t_op_edi.FieldByName('SCAC񅧏').asstring<>'') then
str.Add('FTX+CCI++MFS+1:US:'+t_op_edi.FieldByName('SCAC񅧏').asstring+#39)
else
str.Add('FTX+CCI++MFS+5:US'+#39);
end;
count:=count+1;
}
if not bsck.checked then
begin
str.Add('CNT+7:'+frm_op_seae.t_op_seae.fieldbyname('ÖØÁ¿').asstring+':KGM''');
count:=count+1;
str.Add('CNT+11:'+frm_op_seae.t_op_seae.fieldbyname('¼þÊý').asstring+'''');
count:=count+1;
str.Add('CNT+15:'+frm_op_seae.t_op_seae.fieldbyname('³ßÂë').asstring+':MTQ''');
count:=count+1;
end
else
begin
str.Add('CNT+7:'+t_op_seae_assistant.fieldbyname('ÖØÁ¿').asstring+':KGM''');
count:=count+1;
str.Add('CNT+11:'+t_op_seae_assistant.fieldbyname('¼þÊý').asstring+'''');
count:=count+1;
str.Add('CNT+15:'+t_op_seae_assistant.fieldbyname('³ßÂë').asstring+':MTQ''');
count:=count+1;
end;
if frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring='FREIGHT PREPAID' then
begin
str.Add('LOC+57+'+GetPortEdiID(trim(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring))
+'::6:'+trim(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring)+#39);
end
else
if frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring='FREIGHT COLLECT' then begin
str.Add('LOC+57+'+trim(frm_op_seae.t_op_seae.fieldbyname('µ½¸¶µØµã´úÂë').asstring)
+'::6:'+trim(frm_op_seae.t_op_seae.fieldbyname('µ½¸¶µØµã').asstring)+#39);
end
else
str.Add('LOC+57+'+GetPortEdiID(trim(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring))
+'::6:'+trim(frm_op_seae.t_op_seae.fieldbyname('Ô¤¸¶µØµã').asstring)+#39);
count:=count+1;
str.Add('LOC+73+'+GetPortEdiID(trim(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥µØµã').asstring))
+'::6:'+trim(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥µØµã').asstring)+#39);
count:=count+1;
{
if not (frm_op_seae.t_op_seae.fieldbyname('·Åµ¥ÈÕÆÚ').asDatetime<(now-120)) then begin
str.Add('DTM+95:'+GetDatetime(datetimetostr(frm_op_seae.t_op_seae.fieldbyname('·Åµ¥ÈÕÆÚ').asDatetime),0)+':102'+#39);
count:=count+1;
end;
}
{
if not bsck.checked then //Ö÷µ¥
begin
if RadioGroup2.ItemIndex=6 then
begin
sl:=TStringList.Create;
try
sl.text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('²ðµ¥²¢µ¥±àºÅ').asString);
if sl.Count>0 then
begin
for i:=0 to sl.Count-1 do
begin
str.Add('RFF+BN:'+sl.Strings[i]+#39);
count:=count+1;
end;
end
else
begin
if t_op_edi.IsEmpty or (t_op_edi.FieldByName('¶¨²ÕºÅ').AsString='') then
str.Add('RFF+BN:'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39)
else
str.Add('RFF+BN:'+t_op_edi.FieldByName('¶¨²ÕºÅ').AsString+#39);
count:=count+1;
end;
finally
FreeAndNil(sl);
end;
end
else
begin
if t_op_edi.IsEmpty or (t_op_edi.FieldByName('¶¨²ÕºÅ').AsString='') then
str.Add('RFF+BN:'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39)
else
str.Add('RFF+BN:'+t_op_edi.FieldByName('¶¨²ÕºÅ').AsString+#39);
count:=count+1;
end;
end
else
begin
if RadioGroup2.ItemIndex=6 then //msk
begin
str.Add('RFF+BN:'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39);
count:=count+1;
end
else
begin
str.Add('RFF+BN:'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39);
count:=count+1;
end;
end;
}
str.Add('RFF+BN:'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39);
count:=count+1;
if not bsck.checked then
begin
str.Add('RFF+BM:'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39);
count:=count+1;
end
else
begin
str.Add('RFF+BM:'+t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39);
count:=count+1;
end;
{
str.Add('RFF+ON:###NAD-CZ-ZZZ-['+frm_op_seae.t_op_seae.fieldbyname('·¢»õÈ˱àÂë').asstring+']'+#39);
count:=count+1;
}
if frm_op_seae.t_op_seae.fieldbyname('ÔË·ÑЭÒéºÅ').asstring<>'' then begin
str.Add('RFF+CT:'+frm_op_seae.t_op_seae.fieldbyname('ÔË·ÑЭÒéºÅ').asstring+#39); //
count:=count+1;
end;
{
if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='ÃÀ¹ú') then begin
str.Add('REF+TN:'+t_op_edi.FieldByName('ITN񅧏').asstring+#39);
count:=count+1;
end;
}
if Pos('PREPAID',frm_op_seae.t_op_seae.fieldbyname('¸¶·Ñ·½Ê½').asstring)>0 then
str.Add('CPI+4++P''')
else
str.Add('CPI+4++C''');
count:=count+1;
{
if Trim(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)<>'' then
begin
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)
+'+1+++++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39);
count:=count+1;
end
else
begin
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('º½´Î').asstring)
+'+1+++++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39);
count:=count+1;
end;
}
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('º½´Î').asstring)
+'+1+++++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39);
count:=count+1;
str.Add('LOC+9+'+frm_op_seae.t_op_seae.fieldbyname('×°¸Û´úÂë').asstring
+':139:6:'+trim(frm_op_seae.t_op_seae.fieldbyname('×°»õ¸Û').asstring)+#39);
count:=count+1;
{
str.Add('DTM+133:'+GetDatetime(datetimetostr(frm_op_seae.t_op_seae.fieldbyname('¿ª´¬ÈÕÆÚ').asDatetime),0)+':102'+#39);
count:=count+1;
}
str.Add('LOC+88+'+frm_op_seae.t_op_seae.fieldbyname('×°¸Û´úÂë').asstring
+':139:6:'+trim(frm_op_seae.t_op_seae.fieldbyname('×°»õ¸Û').asstring)+#39);
count:=count+1;
str.Add('LOC+11+'+frm_op_seae.t_op_seae.fieldbyname('ж»õ´úÂë').asstring
+':139:6:'+trim(frm_op_seae.t_op_seae.fieldbyname('ж»õ¸Û').asstring)+#39);
count:=count+1;
if trim(frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ').asstring)<>'' then
begin
str.Add('LOC+7+'+frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ´úÂë').asstring //?
+':139:6:'+trim(frm_op_seae.t_op_seae.fieldbyname('Ä¿µÄµØ').asstring)+#39);
count:=count+1;
end;
str_all.Clear;
str_head:='';
if not bsck.checked then
begin
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('·¢»õÈË´úÂë').asstring);
end
else
begin
str_all.Text:=Changestr(t_op_seae_assistant.fieldbyname('·¢»õÈË´úÂë').asstring);
end;
GetLengthTString(str_all,35);
str_guodu:='NAD+CZ+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
if str_all.Count>5 then
begin
for j:=2 to 3 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
str_guodu:=str_guodu+':'+Copy(str_all[4],1,34)+'*';
Str_shr:='*'+Copy(str_all[4],34,1);
for j:=5 to str_all.Count-1 do begin
Str_shr:=Str_shr+' '+str_all[j]
end;
end;
str_guodu:=str_guodu+'++++CN'+#39;
str.Add(str_guodu);
count:=count+1;
str_head:='';
str_all.Clear;
if not bsck.Checked then
begin
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('ÊÕ»õÈË´úÂë').asstring);
end
else
begin
str_all.Text:=Changestr(t_op_seae_assistant.fieldbyname('ÊÕ»õÈË´úÂë').asstring);
end;
GetLengthTString(str_all,35);
str_guodu:='NAD+CN+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
if str_all.Count>5 then
begin
for j:=2 to 3 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
str_guodu:=str_guodu+':'+Copy(str_all[4],1,33)+'**';
Str_con:='**'+Copy(str_all[4],33,1);
for j:=5 to str_all.Count-1 do begin
Str_con:=Str_con+' '+str_all[j]
end;
end;
{
if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='ÃÀ¹ú') then begin
str_guodu:=str_guodu+'+++'+t_op_edi.FieldByName('ÊÕ»õÈËÓʱà').asstring+#39;
str.Add(str_guodu);
end else if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='¼ÓÄôó') then begin
str_guodu:=str_guodu+'+++'+t_op_edi.FieldByName('ÊÕ»õÈËÓʱà').asstring+'+CA'+#39;
str.Add(str_guodu);
end else if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='°ÍÎ÷') then begin
str_guodu:=str_guodu+'++++'+t_op_edi.FieldByName('ÊÕ»õÈ˹ú¼Ò´úÂë').asstring+#39;
str.Add(str_guodu);
str.Add('RFF+GN:'+t_op_edi.FieldByName('ÊÕ»õÈËË°ºÅ').asstring+#39); //
count:=count+1;
end else begin
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
end;
}
str_guodu:=str_guodu+'++++'+t_op_edi.FieldByName('ÊÕ»õÈ˹ú¼Ò´úÂë').asstring+#39;
str.Add(str_guodu);
count:=count+1;
//´úÀí
{
str_head:='';
str_all.Clear;
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('´úÀíÄÚÈÝ').asstring);
IF str_all.Count>0 then
begin
GetLengthTString(str_all,35);
str_guodu:='NAD+FW+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
count:=count+1;
end;
}
str_head:='';
str_all.Clear;
if not bsck.checked then
begin
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('֪ͨÈË´úÂë').asstring);
end
else
begin
str_all.Text:=Changestr(t_op_seae_assistant.fieldbyname('֪ͨÈË´úÂë').asstring);
end;
GetLengthTString(str_all,35);
str_guodu:='NAD+N1+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
if str_all.Count>5 then
begin
for j:=2 to 3 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
str_guodu:=str_guodu+':'+Copy(str_all[4],1,32)+'***';
Str_not:='***'+Copy(str_all[4],32,1);
for j:=5 to str_all.Count-1 do begin
Str_not:=Str_not+' '+str_all[j]
end;
end;
{
if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='ÃÀ¹ú') then begin
str_guodu:=str_guodu+'+++'+t_op_edi.FieldByName('֪ͨÈËÓʱà').asstring+#39;
str.Add(str_guodu);
end else if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='¼ÓÄôó') then begin
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
end else if (t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring='°ÍÎ÷') then begin
if t_op_edi.FieldByName('֪ͨÈ˹ú¼Ò´úÂë').asstring<>'' then
str_guodu:=str_guodu+'++++'+t_op_edi.FieldByName('֪ͨÈ˹ú¼Ò´úÂë').asstring+#39
else
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
if t_op_edi.FieldByName('֪ͨÈËË°ºÅ').asstring<>'' then begin
str.Add('RFF+GN:'+t_op_edi.FieldByName('֪ͨÈËË°ºÅ').asstring+#39); //
count:=count+1;
end;
end else begin
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
end;
}
str_guodu:=str_guodu+'++++'+t_op_edi.FieldByName('֪ͨÈ˹ú¼Ò´úÂë').asstring+#39;
str.Add(str_guodu);
count:=count+1;
{
if trim(frm_op_seae.t_op_seae.fieldbyname('µÚ¶þ֪ͨÈË').asstring)<>'' then
begin
str_head:='';
str_all.Clear;
str_all.Text:=Changestr(frm_op_seae.t_op_seae.fieldbyname('µÚ¶þ֪ͨÈË').asstring);
GetLengthTString(str_all,35);
str_guodu:='NAD+N1+++'+str_all[0]+'+';
if str_all.Count>=2 then
str_guodu:=str_guodu+str_all[1];
if (str_all.Count>=3) and (str_all.Count<=5) then
begin
for j:=2 to str_all.Count-1 do
begin
str_guodu:=str_guodu+':'+str_all[j]
end;
end;
str_guodu:=str_guodu+#39;
str.Add(str_guodu);
count:=count+1;
end;
}
{ if RadioGroup2.ItemIndex=0 then
str.Add('NAD+CA+MAEU:160:86++MAERSK'+#39)
else if RadioGroup2.ItemIndex=1 then
str.Add('NAD+CA+MCCQ:160:86++MCC TRANSPORT'+#39)
else if RadioGroup2.ItemIndex=2 then
str.Add('NAD+CA+ANNU:160:86++ANL CONTAINER LINE'+#39);
}
if SelectCarrier then
begin
str.Add('NAD+CA+'+aCarrier.EdiNo+':160:86++'+aCarrier.CarrierName+#39);
count:=count+1;
end
else
begin
str.Add('NAD+CA+'+GetShipEdiNO(frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring)+':160:86++'+frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring+#39);
count:=count+1;
end;
// str.Add('NAD+CA+'+GetShipEdiNO(frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring)+':160:86++'+frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring+#39);
// count:=count+1;
if Length(Edit2.text)<=35 then
str.Add('NAD+HI+'+Edit1.TEXT+':160:86++'+Edit2.text+#39)
else str.Add('NAD+HI+'+Edit1.TEXT+':160:86++'+Copy(Edit2.text,1,35)+'+'+Copy(Edit2.text,35,35)+#39);
count:=count+1;
str.Add('CTA+IC+:'+edit7.text+'''');
count:=count+1;
str.Add('COM+'+Edit5.text+':TE'+#39);
count:=count+1;
str.Add('COM+'+Edit6.text+':EM'+#39);
count:=count+1;
if frm_op_seae.t_op_seae.fieldbyname('Ìáµ¥·ÝÊý').asstring='ONE' then
Str1:='1'
else if frm_op_seae.t_op_seae.fieldbyname('Ìáµ¥·ÝÊý').asstring='TWO' then
Str1:='2'
else if frm_op_seae.t_op_seae.fieldbyname('Ìáµ¥·ÝÊý').asstring='THREE' then
Str1:='3'
else if frm_op_seae.t_op_seae.fieldbyname('Ìáµ¥·ÝÊý').asstring='FOUR' then
Str1:='4'
else if frm_op_seae.t_op_seae.fieldbyname('Ìáµ¥·ÝÊý').asstring='FIVE' then
Str1:='5'
else if frm_op_seae.t_op_seae.fieldbyname('Ìáµ¥·ÝÊý').asstring='SIX' then
Str1:='6'
else if frm_op_seae.t_op_seae.fieldbyname('Ìáµ¥·ÝÊý').asstring='SERVEN' then
Str1:='7'
else if frm_op_seae.t_op_seae.fieldbyname('Ìáµ¥·ÝÊý').asstring='EIGHT' then
Str1:='8'
else if frm_op_seae.t_op_seae.fieldbyname('Ìáµ¥·ÝÊý').asstring='NIGHT' then
Str1:='9'
else if frm_op_seae.t_op_seae.fieldbyname('Ìáµ¥·ÝÊý').asstring='TEN' then
Str1:='10';
CopyBillCount:='3';
{
if frm_op_seae.t_op_seae.fieldbyname('¸±±¾Ìáµ¥·ÝÊý').asstring='ONE' then
CopyBillCount:='1'
else if frm_op_seae.t_op_seae.fieldbyname('¸±±¾Ìáµ¥·ÝÊý').asstring='TWO' then
CopyBillCount:='2'
else if frm_op_seae.t_op_seae.fieldbyname('¸±±¾Ìáµ¥·ÝÊý').asstring='THREE' then
CopyBillCount:='3'
else if frm_op_seae.t_op_seae.fieldbyname('¸±±¾Ìáµ¥·ÝÊý').asstring='FOUR' then
CopyBillCount:='4'
else if frm_op_seae.t_op_seae.fieldbyname('¸±±¾Ìáµ¥·ÝÊý').asstring='FIVE' then
CopyBillCount:='5'
else if frm_op_seae.t_op_seae.fieldbyname('¸±±¾Ìáµ¥·ÝÊý').asstring='SIX' then
CopyBillCount:='6'
else if frm_op_seae.t_op_seae.fieldbyname('¸±±¾Ìáµ¥·ÝÊý').asstring='SERVEN' then
CopyBillCount:='7'
else if frm_op_seae.t_op_seae.fieldbyname('¸±±¾Ìáµ¥·ÝÊý').asstring='EIGHT' then
CopyBillCount:='8'
else if frm_op_seae.t_op_seae.fieldbyname('¸±±¾Ìáµ¥·ÝÊý').asstring='NIGHT' then
CopyBillCount:='9'
else if frm_op_seae.t_op_seae.fieldbyname('¸±±¾Ìáµ¥·ÝÊý').asstring='TEN' then
CopyBillCount:='10';
}
IF trim(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥·½Ê½').asstring)='Õý±¾' then begin //Ìáµ¥ÀàÐÍ
Str2:='706';
str.Add('DOC+'+Str2+'+++'+Str1+#39);
count:=count+1;
{
if trim(CopyBillCount)<>'' then
begin
Str2:='707';
if frm_op_seae.t_op_seae.fieldbyname('ÔË·Ñ').AsBoolean then
str.Add('DOC+'+Str2+'+:27++'+CopyBillCount+#39)
else str.Add('DOC+'+Str2+'+++'+CopyBillCount+#39);
count:=count+1;
end;
}
end else if (trim(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥·½Ê½').asstring)='º£Ô˵¥')
or (trim(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥·½Ê½').asstring)='Seaway') then begin
Str2:='710';
str.Add('DOC+'+Str2+'+++'+Str1+#39);
count:=count+1;
end
else
begin
Str2:='706';
str.Add('DOC+'+Str2+'+++'+Str1+#39);
// str.Add('DOC+'+Str2+'+++'+Str1+#39);
count:=count+1;
end;
{
str.Add('NAD+ZZZ+'+Edit1.TEXT+':160:86++'+Edit2.TEXT+#39);
count:=count+1;
str.Add('CTA+NT+'+employee+#39);
count:=count+1;
str.Add('COM+'+Edit6.text+':EM'+#39);
count:=count+1;
}
{
k:=1;
t_op_ctn.close;
t_op_ctn.Parameters.ParamByName('񅧏').Value:=frm_op_seae.t_op_seae.fieldbyname('񅧏').asstring;
t_op_ctn.open;
t_op_ctn.first;
while not t_op_ctn.eof do
begin
str.Add('GID+'+IntToStr(k)+'+'+t_op_ctn.fieldbyname('¼þÊý').asstring+':'+
GetPkgCode(trim(t_op_ctn.fieldbyname('°ü×°').asstring))+'::6:'+t_op_ctn.fieldbyname('°ü×°').asstring+#39); //£¿
k:=k+1;
count:=count+1;
t_op_ctn.Next;
end;
}
///
if not bsck.checked then
begin
str.Add('GID+1+'+frm_op_seae.t_op_seae.fieldbyname('¼þÊý').asstring+':'+
GetPkgCode(trim(frm_op_seae.t_op_seae.fieldbyname('°ü×°').asstring))+'::6:'+frm_op_seae.t_op_seae.fieldbyname('°ü×°').asstring+#39); //£¿
count:=count+1;
end
else
begin
str.Add('GID+1+'+t_op_seae_assistant.fieldbyname('¼þÊý').asstring+':'+
GetPkgCode(trim(t_op_seae_assistant.fieldbyname('°ü×°').asstring))+'::6:'+t_op_seae_assistant.fieldbyname('°ü×°').asstring+#39); //£¿
count:=count+1;
end;
if Trim(frm_op_seae.t_op_seae.fieldbyname('HS±àÂë').asstring)<>'' then begin // ÉÌÆ·±àÂë
str.Add('PIA+5+'+frm_op_seae.t_op_seae.fieldbyname('HS±àÂë').asstring+':HS'+#39); //£¿
count:=count+1;
end;
if RadioGroup1.ItemIndex=0 then
begin
sl:=TStringList.Create;
try
if not bsck.checked then
sl.text:=frm_op_seae.t_op_seae.fieldbyname('»õÎïÃèÊö').asstring
else sl.text:=t_op_seae_assistant.fieldbyname('»õÎïÃèÊö').asstring;
for i:=0 to sl.Count-1 do begin
str.Add('FTX+AAA+++'+Changestr(sl.Strings[i])+''+#39);
count:=count+1;
end;
finally
FreeAndNil(sl);
end;
end
else
begin
sl:=TStringList.Create;
try
if not bsck.checked then
sl.text:=frm_op_seae.t_op_seae.fieldbyname('»õÎïÃèÊö').asstring
else sl.text:=t_op_seae_assistant.fieldbyname('»õÎïÃèÊö').asstring;
for i:=0 to sl.Count-1 do begin
str.Add('FTX+AAA+++'+Changestr(sl.Strings[i])+''+#39);
count:=count+1;
end;
finally
FreeAndNil(sl);
end;
if Trim(str_shr)<>'' then
begin
str.Add('FTX+AAA+++'+
Str_shr+#39);
count:=count+2;
end;
if Trim(str_con)<>'' then
begin
str.Add('FTX+AAA+++'+
Str_con+#39);
count:=count+2;
end;
if Trim(str_not)<>'' then
begin
str.Add('FTX+AAA+++'+
Str_not+#39);
count:=count+2;
end;
end;
if not bsck.checked then
begin
str.Add('MEA+AAE+WT+KGM:'+frm_op_seae.t_op_seae.fieldbyname('ÖØÁ¿').asstring+#39);
count:=count+1;
str.Add('MEA+AAE+AAW+MTQ:'+frm_op_seae.t_op_seae.fieldbyname('³ßÂë').asstring+#39);
count:=count+1;
end
else
begin
str.Add('MEA+AAE+WT+KGM:'+t_op_seae_assistant.fieldbyname('ÖØÁ¿').asstring+#39);
count:=count+1;
str.Add('MEA+AAE+AAW+MTQ:'+t_op_seae_assistant.fieldbyname('³ßÂë').asstring+#39);
count:=count+1;
end;
{
if Trim(t_op_edi.fieldbyname('»õÎïNCM±àºÅ').asstring)<>'' then
begin
str.Add('RFF+ABT:'+t_op_edi.fieldbyname('»õÎïNCM±àºÅ').asstring+#39); //£¿
count:=count+1;
end;
}
sl:=TStringList.Create;
try
if not bsck.checked then
sl.text:=frm_op_seae.t_op_seae.fieldbyname('ßéÍ·').asString
else sl.text:=t_op_seae_assistant.fieldbyname('ßéÍ·').asString;
GetLengthTString(sl,35);
for i:=0 to sl.Count-1 do begin
str.Add('PCI++'+Changestr(sl.Strings[i])+''+#39);
count:=count+1;
end;
finally
FreeAndNil(sl);
end;
t_op_ctn.Close;t_op_ctn.SQL.Clear;
t_op_ctn.SQL.Add('SELECT t_op_ctn.±àºÅ,t_op_ctn.ÊýÁ¿, t_code_ctn.EDI´úÂë,t_op_ctn.³ß´ç,t_op_ctn.°ü×°');
t_op_ctn.SQL.Add(',t_op_ctn.ÏäÐÍ,t_op_ctn.ÏäºÅ,t_op_ctn.ÖØÁ¿,t_op_ctn.·âºÅ,t_op_ctn.³ßÂë,t_op_ctn.¼þÊý,t_op_ctn.¾»ÖØ');
t_op_ctn.SQL.Add('FROM t_op_ctn INNER JOIN');
t_op_ctn.SQL.Add('t_code_ctn ON t_op_ctn.´úÂë = t_code_ctn.´úÂë');
t_op_ctn.SQL.Add('WHERE t_op_ctn.񅧏=:񅧏');
t_op_ctn.close;
t_op_ctn.Parameters.ParamByName('񅧏').Value:=frm_op_seae.t_op_seae.fieldbyname('񅧏').asstring;
t_op_ctn.open;
t_op_ctn.first;
while not t_op_ctn.eof do
begin
str.Add('SGP+'+t_op_ctn.fieldbyname('ÏäºÅ').asstring+'+'+t_op_ctn.fieldbyname('¼þÊý').asstring+#39); //ÊýÁ¿
count:=count+1;
str.Add('MEA+AAE+WT+KGM:'+t_op_ctn.fieldbyname('ÖØÁ¿').asstring+#39);
count:=count+1;
str.Add('MEA+AAE+AAW+MTQ:'+t_op_ctn.fieldbyname('³ßÂë').asstring+#39);
count:=count+1;
str.Add('MEA+AAE+N+KGM:'+t_op_ctn.fieldbyname('¾»ÖØ').asstring+#39);
count:=count+1;
t_op_ctn.next;
end;
////
if frm_op_seae.t_op_seae.FieldByName('»õÎï±êʶ').asstring='D' then
begin
str.Add('DGS+IMD+'+frm_op_seae.t_op_seae.fieldbyname('ΣÏÕÆ··ÖÀà').asstring
+'+'+frm_op_seae.t_op_seae.fieldbyname('ΣÏÕÆ·±àºÅ').asstring+#39);
count:=count+1;
str.Add('CTA+HG+:'+edit7.text+#39);
count:=count+1;
str.Add('COM+'+Edit5.text+':TE'+#39);
count:=count+1;
end;
t_op_ctn.Close;t_op_ctn.SQL.Clear;
t_op_ctn.SQL.Add('SELECT t_op_ctn.±àºÅ,t_op_ctn.ÊýÁ¿, t_code_ctn.EDI´úÂë,t_op_ctn.³ß´ç,t_op_ctn.°ü×°');
t_op_ctn.SQL.Add(',t_op_ctn.ÏäÐÍ,t_op_ctn.ÏäºÅ,t_op_ctn.ÖØÁ¿,t_op_ctn.·âºÅ,t_op_ctn.³ßÂë,t_op_ctn.¼þÊý');
t_op_ctn.SQL.Add('FROM t_op_ctn INNER JOIN');
t_op_ctn.SQL.Add('t_code_ctn ON t_op_ctn.´úÂë = t_code_ctn.´úÂë');
t_op_ctn.SQL.Add('WHERE t_op_ctn.񅧏=:񅧏');
t_op_ctn.close;
t_op_ctn.Parameters.ParamByName('񅧏').Value:=frm_op_seae.t_op_seae.fieldbyname('񅧏').asstring;
t_op_ctn.open;
t_op_ctn.first;
while not t_op_ctn.eof do
begin
if frm_op_seae.t_op_seae.fieldbyname('ÊÇ·ñ×ÔÓÐÏä').asboolean then
str.Add('EQD+CN+'+t_op_ctn.fieldbyname('ÏäºÅ').asstring+'+'+GetCtnCode(t_op_ctn.fieldbyname('ÏäÐÍ').asstring,t_op_ctn.fieldbyname('³ß´ç').asstring)+'+1'+#39) //ÊýÁ¿
else
str.Add('EQD+CN+'+t_op_ctn.fieldbyname('ÏäºÅ').asstring+'+'+GetCtnCode(t_op_ctn.fieldbyname('ÏäÐÍ').asstring,t_op_ctn.fieldbyname('³ß´ç').asstring)+'+2'+#39); //ÊýÁ¿
count:=count+1;
str.Add('MEA+AAE+WT+KGM:'+t_op_ctn.fieldbyname('ÖØÁ¿').asstring+#39);
count:=count+1;
str.Add('MEA+AAE+AAW+MTQ:'+t_op_ctn.fieldbyname('³ßÂë').asstring+#39);
count:=count+1;
if frm_op_seae.t_op_seae.FieldByName('»õÎï±êʶ').asstring='R' then
begin
if Trim(frm_op_seae.t_op_seae.fieldbyname('Àä²Øͨ·çÁ¿').asstring)<>'' then
begin
str.Add('MEA+AAE+AAS+CBM:'+frm_op_seae.t_op_seae.fieldbyname('Àä²Øͨ·çÁ¿').asstring+#39);
count:=count+1;
end;
end;
{
if frm_op_seae.t_op_seae.fieldbyname('×ܼÛ').asfloat<>0 then begin
str.Add('MEA+AAE+T+KGM:'+frm_op_seae.t_op_seae.fieldbyname('×ܼÛ').asstring+#39);
count:=count+1;
end;
}
str.Add('SEL+'+t_op_ctn.fieldbyname('·âºÅ').asstring+'+CA'+#39);
count:=count+1;
if frm_op_seae.t_op_seae.FieldByName('»õÎï±êʶ').asstring='R' then
begin
str.Add('TMP+2+'+frm_op_seae.t_op_seae.fieldbyname('ÉèÖÃζÈ').asstring+':CEL'+#39);
count:=count+1;
end;
t_op_ctn.next;
end;
count:=count+1;
result:=count;
end;
procedure Tfrm_op_seae_edi_yml.bsSkinButton1Click(Sender: TObject);
var
str:Tstringlist;
i,Count,get_Count,bill_count:integer;
inifile1:Tinifile;
begin
if bsck.Checked then
begin
if frm_op_seae_assistant=nil then
begin
ShowMessage('ÇëÔÚ(ίÍкÍÌáµ¥)½çÃæÑ¡Ôñ·Öµ¥·¢ËÍ·Öµ¥Edi');
exit;
end
end;
try
str:=Tstringlist.Create;
str.Clear;
count:=0;
bill_count:=0;
if frm_op_seae.dxdbgrid1.SelectedCount>1 then
begin
for i:=0 to frm_op_seae.dxdbgrid1.SelectedCount-1 do
begin
frm_op_seae.t_op_seae.GotoBookmark(pointer(frm_op_seae.dxdbgrid1.selectedrows[i]));
if not isEditrue then
exit;
if RadioGroup1.ItemIndex=1 then
get_Count:=frm_op_seae_edi_yml.get_txtSI(str)
else
get_Count:=frm_op_seae_edi_yml.get_txtBooking(str);
if get_Count=-1 then
exit
else
count:=count+get_Count;
bill_count:=bill_count+1;
end;
str.Add('UNT+'+INTTOSTR(str.count)+'+'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+#39);
str.Add('UNZ+'+inttostr(bill_count)+'+'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+#39);
end
else
begin
if not isEditrue then
exit;
if RadioGroup1.ItemIndex=1 then
get_Count:=frm_op_seae_edi_yml.get_txtSI(str)
else
get_Count:=frm_op_seae_edi_yml.get_txtBooking(str);
if get_Count=-1 then
exit
else
count:=count+get_Count;
str.Add('UNT+'+INTTOSTR(str.count)+'+'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+#39);
str.Add('UNZ+1+'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+#39);
end;
for i:=0 to Str.Count-1 do begin
if IsZhongwen(Str[i]) then
begin
MessageDlg('´ËƱҵÎñÓÐÖÐÎÄ×Ö·û»òTAB¼ü,²»ÄÜÉÏ´«£¡'+#13#10+Str[i],mtWarning,[mbYes],0);
exit;
end;
end;
SaveDialog1.FileName:=frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+GetDatetime(datetimetostr(now),3);
if SaveDialog1.Execute then
begin
str.SaveToFile(SaveDialog1.FileName+'.txt');
showmessage('ÎļþÉú³É³É¹¦£¡');
end
else
begin
showmessage('ÎļþÉú³Éʧ°Ü£¡');
exit;
end;
except
on e:exception do
begin
ShowMessage(e.Message);
end;
end;
end;
{procedure Tfrm_op_seae_edi_yml.bsSkinButton1Click(Sender: TObject);
var
str:Tstringlist;
i,Count,get_Count,bill_count:integer;
inifile1:Tinifile;
begin
str:=Tstringlist.Create;
str.Clear;
count:=0;
bill_count:=0;
if frm_op_seae.dxdbgrid1.SelectedCount>1 then
begin
for i:=0 to frm_op_seae.dxdbgrid1.SelectedCount-1 do
begin
frm_op_seae.t_op_seae.GotoBookmark(pointer(frm_op_seae.dxdbgrid1.selectedrows[i]));
get_Count:=frm_op_seae_edi_yml.get_txt(str);
if get_Count=-1 then
exit
else
count:=count+get_Count;
bill_count:=bill_count+1;
end;
str.Add('UNT+'+INTTOSTR(count)+'+1'+#39);
str.Add('UNZ+'+inttostr(bill_count)+'+100'+#39);
end
else
begin
get_Count:=frm_op_seae_edi_yml.get_txt(str);
if get_Count=-1 then
exit
else
count:=count+get_Count;
str.Add('UNT+'+INTTOSTR(count)+'+1'+#39);
str.Add('UNZ+1+100'+#39);
end;
SaveDialog1.FileName:=frm_op_seae.t_op_seae.fieldbyname('Ö÷Ö÷Ìáµ¥ºÅ').asstring;
if SaveDialog1.Execute then
begin
str.SaveToFile(SaveDialog1.FileName+'.txt');
showmessage('ÎļþÉú³É³É¹¦£¡');
end
else
begin
showmessage('ÎļþÉú³Éʧ°Ü£¡');
exit;
end;
inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini');
inifile1.WriteString('INTRA','SEND_CODE',edit1.text);
inifile1.WriteString('INTRA','SEND_NAME',edit2.text);
inifile1.WriteString('INTRA','RECEIVE_CODE',edit3.text);
inifile1.WriteString('INTRA','RECEIVE_NAME',edit4.text);
inifile1.free;
close;
end;}
procedure Tfrm_op_seae_edi_yml.FormShow(Sender: TObject);
var
inifile1:Tinifile;
begin
inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini');
edit1.text:=inifile1.ReadString('EDI','SEND_CODE_YML','');
edit2.text:=inifile1.ReadString('EDI','SEND_NAME_YML','');
edit3.text:=inifile1.ReadString('EDI','RECEIVE_CODE_YML','');
edit4.text:=inifile1.ReadString('EDI','RECEIVE_NAME_YML','');
edit5.text:=inifile1.ReadString('EDI','SEND_TEL_YML','');
edit6.text:=inifile1.ReadString('EDI','SEND_MAIL_YML','');
edit7.text:=inifile1.ReadString('EDI','SEND_ATTN_YML','');
edit8.text:=inifile1.ReadString('EDI','FTPADD_YML','');
edit9.text:=inifile1.ReadString('EDI','FTPNAME_YML','');
edit10.text:=inifile1.ReadString('EDI','FTPPASS_YML','');
edit11.text:=inifile1.ReadString('EDI','FTPPATH_YML','');
edit13.text:=inifile1.ReadString('EDI','FTPPATHSI_YML','');
edit12.text:=inifile1.ReadString('EDI','ADDR_YML','');
RadioGroup1.ItemIndex:=inifile1.ReadInteger('EDI','CMASEND_TYPE_YML',1);
// RadioGroup2.ItemIndex:=inifile1.ReadInteger('EDI','CMASEND_CA_YML',1);
inifile1.free;
with t_op_seae_assistant do begin
Close;
SQL.Clear;
SQL.Add('select * from t_op_seae_assistant where 񅧏='''+frm_op_seae.t_op_seae.fieldbyname('񅧏').AsString+'''');
open;
end;
end;
procedure Tfrm_op_seae_edi_yml.bsSkinButton3Click(Sender: TObject);
begin
if frm_op_seae_edi_yml.Width=650 then
frm_op_seae_edi_yml.Width:=305
else
frm_op_seae_edi_yml.Width:=650;
end;
procedure Tfrm_op_seae_edi_yml.bsSkinButton4Click(Sender: TObject);
var
IdFTP1:TIdFTP;
str:widestring;
str_file:widestring;
ftpar,ftpname,ftppass,ftppath,ftppathSI,ScriptPath:String;
StrL:Tstringlist;
i,Count,get_Count,bill_count,i_soi:integer;
begin
i_soi:=0;
if bsck.Checked then
begin
if frm_op_seae_assistant=nil then
begin
ShowMessage('ÇëÔÚ(ίÍкÍÌáµ¥)½çÃæ·¢ËÍ·Öµ¥Edi');
exit;
end
end;
ScriptPath:=ExtractFilePath(ParamStr(0))+'EDIFILE\';
if not DirectoryExists(ScriptPath) then
CreateDir(ScriptPath);
ftpar:=Trim(Edit8.Text);
if ftpar='' then begin
MessageDlg('ÇëÉèÖÃFTPµØÖ·£¡',mtWarning,[mbOk],0);
exit;
end;
ftpname:=Trim(Edit9.Text);;
if ftpar='' then begin
MessageDlg('ÇëÉèÖÃFTPÓû§Ãû£¡',mtWarning,[mbOk],0);
exit;
end;
ftppass:=Trim(Edit10.Text);;
if ftpar='' then begin
MessageDlg('ÇëÉèÖÃFTPÃÜÂ룡',mtWarning,[mbOk],0);
exit;
end;
ftppath:=Trim(Edit11.Text);;
ftppathSI:=Trim(Edit13.Text);;
str:=ScriptPath
+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring
+FormatDateTime('yyyy',now)
+FormatDateTime('mm',now)
+FormatDateTime('dd',now)
+FormatDateTime('hh',now)
+FormatDateTime('nn',now)+'.txt';
str_file:=frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring
+FormatDateTime('yyyy',now)
+FormatDateTime('mm',now)
+FormatDateTime('dd',now)
+FormatDateTime('hh',now)
+FormatDateTime('nn',now)+'.txt';
StrL:=Tstringlist.Create;
StrL.Clear;
count:=0;
bill_count:=0;
if frm_op_seae.dxdbgrid1.SelectedCount>1 then
begin
for i:=0 to frm_op_seae.dxdbgrid1.SelectedCount-1 do
begin
frm_op_seae.t_op_seae.GotoBookmark(pointer(frm_op_seae.dxdbgrid1.selectedrows[i]));
if not isEditrue then
exit;
if RadioGroup1.ItemIndex=1 then
get_Count:=frm_op_seae_edi_yml.get_txtSI(StrL)
else
get_Count:=frm_op_seae_edi_yml.get_txtBooking(StrL);
if get_Count=-1 then
exit
else
count:=count+get_Count;
bill_count:=bill_count+1;
end;
StrL.Add('UNT+'+INTTOSTR(StrL.count)+'+'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+#39);
StrL.Add('UNZ+'+inttostr(bill_count)+'+'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+#39);
end
else
begin
if not isEditrue then
exit;
if RadioGroup1.ItemIndex=1 then
get_Count:=frm_op_seae_edi_yml.get_txtSI(StrL)
else
get_Count:=frm_op_seae_edi_yml.get_txtBooking(StrL);
if get_Count=-1 then
exit
else
count:=count+get_Count;
StrL.Add('UNT+'+INTTOSTR(StrL.count)+'+'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+#39);
StrL.Add('UNZ+1+'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+#39);
{
str.Add('UNT+'+INTTOSTR(count)+'+1'+#39);
str.Add('UNZ+1+100'+#39);
}
end;
for i:=0 to StrL.Count-1 do begin
if IsZhongwen(StrL[i]) then begin
MessageDlg('´ËƱҵÎñÓÐÖÐÎÄ×Ö·û»òTAB¼ü»ò<>×Ö·û,²»ÄÜÉÏ´«£¡'+#13#10+Str[i],mtWarning,[mbYes],0);
exit;
end;
end;
StrL.SaveToFile(str);
try
IdFTP1:=TIdFTP.Create(application);
with idftp1 do
begin
Username:=ftpname;
Password:=ftppass;
Host:=ftpar;
Connect;
end;
case RadioGroup1.ItemIndex of
0:begin
idftp1.ChangeDir(ftppath);
end;
1:begin
if (Trim(ftppathSI)<>'') then
idftp1.ChangeDir(ftppathSI)
else idftp1.ChangeDir(ftppath);
end;
end;
idftp1.TransferType:=ftBinary;
idftp1.Put(str,str_file);
idftp1.Disconnect;
showmessage('ÎļþÉÏ´«³É¹¦£¡');
except
deletefile(str);
i_soi:=1;
showmessage('ÎļþÉÏ´«´íÎó£¡');
end;
idftp1.Free;
// if i_soi=0 then UpdateSOIStatus(RadioGroup1.ItemIndex,frm_op_seae.t_op_seae.fieldbyname('񅧏').asstring);
end;
procedure Tfrm_op_seae_edi_yml.FormClose(Sender: TObject;
var Action: TCloseAction);
VAR
inifile1:TIniFile;
begin
inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini');
inifile1.WriteString('EDI','SEND_CODE_YML',edit1.text);
inifile1.WriteString('EDI','SEND_NAME_YML',edit2.text);
inifile1.WriteString('EDI','RECEIVE_CODE_YML',edit3.text);
inifile1.WriteString('EDI','RECEIVE_NAME_YML',edit4.text);
inifile1.WriteString('EDI','SEND_TEL_YML',edit5.text);
inifile1.WriteString('EDI','SEND_MAIL_YML',edit6.text);
inifile1.WriteString('EDI','SEND_ATTN_YML',edit7.text);
inifile1.WriteString('EDI','FTPADD_YML',edit8.text);
inifile1.WriteString('EDI','FTPNAME_YML',edit9.text);
inifile1.WriteString('EDI','FTPPASS_YML',Edit10.text);
inifile1.WriteString('EDI','FTPPATH_YML',Edit11.text);
inifile1.WriteString('EDI','FTPPATHSI_YML',Edit13.text);
inifile1.WriteString('EDI','ADDR_YML',edit12.text);
inifile1.WriteInteger('EDI','CMASEND_TYPE_YML',RadioGroup1.ItemIndex);
// inifile1.WriteInteger('EDI','CMASEND_CA_YML',RadioGroup2.ItemIndex);
inifile1.free;
action:=cafree;
frm_op_seae_edi_yml:=nil;
end;
end.