|
|
unit u_op_seae_edi_inttra;
|
|
|
|
|
|
interface
|
|
|
|
|
|
uses
|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
|
Dialogs, BusinessSkinForm, bsSkinCtrls, StdCtrls,inifiles, DB, ADODB,IdFTP,IdFTPCommon,
|
|
|
ExtCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient;
|
|
|
|
|
|
type
|
|
|
|
|
|
TCarrier = Record //ÏûÏ¢¿Í»§¶ËÏûÏ¢½á¹¹
|
|
|
EdiNo :String;
|
|
|
CarrierName :String;
|
|
|
end;
|
|
|
|
|
|
Tfrm_op_seae_edi_inttra = 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;
|
|
|
RadioGroup1: TRadioGroup;
|
|
|
bsSkinButton3: TbsSkinButton;
|
|
|
bsSkinButton4: TbsSkinButton;
|
|
|
GroupBox1: TGroupBox;
|
|
|
Label8: TLabel;
|
|
|
Edit8: TEdit;
|
|
|
Edit9: TEdit;
|
|
|
Edit10: TEdit;
|
|
|
Label9: TLabel;
|
|
|
Label10: TLabel;
|
|
|
Edit11: TEdit;
|
|
|
Label11: TLabel;
|
|
|
RadioGroup2: TRadioGroup;
|
|
|
t_op_edi: TADOQuery;
|
|
|
Label12: TLabel;
|
|
|
Edit12: TEdit;
|
|
|
RadioGroup3: TRadioGroup;
|
|
|
bsck: TbsSkinCheckRadioBox;
|
|
|
t_op_edictn: TADOQuery;
|
|
|
bsSkinCheckRadioBox1: TbsSkinCheckRadioBox;
|
|
|
Label13: TLabel;
|
|
|
Edit13: TEdit;
|
|
|
IdFTP1: TIdFTP;
|
|
|
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);
|
|
|
procedure RadioGroup2Click(Sender: TObject);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_inttra: Tfrm_op_seae_edi_inttra;
|
|
|
|
|
|
implementation
|
|
|
|
|
|
uses u_op_seae, my_sys_function, u_main, u_data_share, u_op_seae_assistant,
|
|
|
u_op_seae_edi_cma;
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
function Tfrm_op_seae_edi_inttra.GetCarrier(i:integer):TCarrier;
|
|
|
begin
|
|
|
case RadioGroup2.ItemIndex of
|
|
|
0:begin //msk
|
|
|
Result.EdiNo:='MAEU';
|
|
|
Result.CarrierName:='MAERSK LINE';
|
|
|
end;
|
|
|
1:begin //mcc
|
|
|
Result.EdiNo:='MCCQ';
|
|
|
Result.CarrierName:='MCC TRANSPORT SINGAPORE';
|
|
|
end;
|
|
|
2:begin //ANL
|
|
|
Result.EdiNo:='ANNU';
|
|
|
Result.CarrierName:='ANL CONTAINER LINE';
|
|
|
end;
|
|
|
3:begin //CMA
|
|
|
Result.EdiNo:='CMDU';
|
|
|
Result.CarrierName:='CMA CGM';
|
|
|
end;
|
|
|
4:begin //CNC
|
|
|
Result.EdiNo:='CHNL';
|
|
|
Result.CarrierName:='CNC';
|
|
|
end;
|
|
|
5:begin //HL
|
|
|
Result.EdiNo:='HLCU';
|
|
|
Result.CarrierName:='HAPAG-LLOYD';
|
|
|
|
|
|
end;
|
|
|
6:begin //MASK
|
|
|
Result.EdiNo:='MAEU';
|
|
|
Result.CarrierName:='MAERSK LINE';
|
|
|
end;
|
|
|
7:begin // HAM
|
|
|
Result.EdiNo:='SUDU';
|
|
|
Result.CarrierName:='HAMBURG';
|
|
|
end;
|
|
|
8:begin // HAM
|
|
|
Result.EdiNo:='MSCU';
|
|
|
Result.CarrierName:='MSC';
|
|
|
end;
|
|
|
9:begin // HAM
|
|
|
Result.EdiNo:='DAAE';
|
|
|
Result.CarrierName:='DELMAS';
|
|
|
end;
|
|
|
10:begin // UASC
|
|
|
Result.EdiNo:='UASC';
|
|
|
Result.CarrierName:='UASC';
|
|
|
end;
|
|
|
11:begin // COSU
|
|
|
Result.EdiNo:='COSU';
|
|
|
Result.CarrierName:='COSCO';
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
|
|
|
function Tfrm_op_seae_edi_inttra.ControlLines(LinesCount,CorpTypeid,BsTypeid:Integer;SName:string):String;
|
|
|
begin
|
|
|
Result:='';
|
|
|
if LinesCount>5 then
|
|
|
begin
|
|
|
if RadioGroup2.ItemIndex=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
|
|
|
else
|
|
|
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;
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function Tfrm_op_seae_edi_inttra.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_inttra.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 RadioGroup2.ItemIndex=5 then
|
|
|
begin
|
|
|
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊ䷽ʽ').asstring)='' then
|
|
|
begin
|
|
|
result:=false;
|
|
|
MessageDlg('HL »õÀà´úÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊ䷽ʽ').asstring)='' then
|
|
|
begin
|
|
|
MessageDlg('×¢Òâ»õÀà´úÂëΪ¿Õ',mtWarning,[mbOk],0);
|
|
|
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(frm_op_seae_assistant.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;
|
|
|
|
|
|
if trim(frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring)='' then begin
|
|
|
result:=false;
|
|
|
MessageDlg('´¬¹«Ë¾²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
|
|
|
// exit;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if GetShipEdiNO(frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring)='' then
|
|
|
begin
|
|
|
result:=false;
|
|
|
MessageDlg('´¬¹«Ë¾EDI´úÂë²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
|
|
|
// exit;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
aCarrier:=GetCarrier(RadioGroup2.ItemIndex);
|
|
|
|
|
|
if aCarrier.EdiNo<>GetShipEdiNO(frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring) then
|
|
|
begin
|
|
|
if MessageDlg('Ñ¡ÔñµÄ´¬¹«Ë¾Îª:'+aCarrier.CarrierName+' ϵͳ¼ÈëµÄ´¬¹«Ë¾Îª:'+frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring+#13#10+',ÒªÒÔÑ¡ÔñµÄ´¬¹«Ë¾·¢ËÍÂð?',mtWarning,[mbyes,mbno],0)=mryes then
|
|
|
begin
|
|
|
SelectCarrier:=true;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
|
|
|
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(frm_op_seae_assistant.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(':',frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('EDI±¸×¢').asString)>0 then begin
|
|
|
result:=false;
|
|
|
MessageDlg('EDI±¸×¢Öв»ÄÜÓÐ : ×Ö·û',mtWarning,[mbOk],0);
|
|
|
// exit;
|
|
|
end;
|
|
|
end;
|
|
|
if not bsck.Checked then
|
|
|
begin
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
begin
|
|
|
if Pos('PLEASE BOOK OCEAN CARRIER',trim(frm_op_seae.t_op_seae.fieldbyname('EDI±¸×¢').asString))<=0 then
|
|
|
begin
|
|
|
ShowMessage('ÇëÔÚEDI±¸×¢ÖÐÊäÈë:PLEASE BOOK OCEAN CARRIER - ´¬¹«Ë¾Ãû³Æ');
|
|
|
begin
|
|
|
result:=false;
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
begin
|
|
|
if Pos('PLEASE BOOK OCEAN CARRIER',trim(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('EDI±¸×¢').asString))<=0 then
|
|
|
begin
|
|
|
ShowMessage('ÇëÔÚEDI±¸×¢ÖÐÊäÈë:PLEASE BOOK OCEAN CARRIER - ´¬¹«Ë¾Ãû³Æ');
|
|
|
begin
|
|
|
result:=false;
|
|
|
end;
|
|
|
end;
|
|
|
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;
|
|
|
if t_op_edi.fieldbyname('ËùÔÚ¹ú¼Ò').AsString<>'' then
|
|
|
begin
|
|
|
sl.Text:=Changestr(t_op_edi.fieldbyname('AMS·¢»õÈË').asstring);
|
|
|
for i:=0 to sl.Count-1 do
|
|
|
begin
|
|
|
if IsZhongwen(sl[i]) then begin
|
|
|
MessageDlg('EDIÐÅÏ¢Öз¢»õÈËÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
|
|
|
result:=false;
|
|
|
// Exit;
|
|
|
end;
|
|
|
if Length(sl[i])>35 then
|
|
|
begin
|
|
|
result:=false;
|
|
|
MessageDlg('EDIÐÅÏ¢Öз¢»õÈËÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
|
|
|
// exit;
|
|
|
end;
|
|
|
end;
|
|
|
Lines:=ControlLines(sl.Count,0,0,'AMS·¢»õÈË'); //LinesCount,CorpTypeid,BsTypeid:Integer;SName:string
|
|
|
if Lines<>'' then
|
|
|
begin
|
|
|
result:=false;
|
|
|
MessageDlg('EDIÐÅÏ¢ÖÐ'+Lines+'!',mtWarning,[mbOk],0);
|
|
|
// Exit;
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
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;
|
|
|
end;
|
|
|
|
|
|
if bsck.Checked then
|
|
|
begin
|
|
|
sl.Text:=Changestr(frm_op_seae_assistant.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;
|
|
|
if t_op_edi.fieldbyname('ËùÔÚ¹ú¼Ò').AsString<>'' then begin
|
|
|
sl.Text:=Changestr(t_op_edi.fieldbyname('AMSÊÕ»õÈË').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('EDIÐÅÏ¢ÖÐÊÕ»õÈËÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
|
|
|
// exit;
|
|
|
end;
|
|
|
end;
|
|
|
Lines:=ControlLines(sl.Count,1,0,'AMSÊÕ»õÈË'); //LinesCount,CorpTypeid,BsTypeid:Integer;SName:string
|
|
|
if Lines<>'' then
|
|
|
begin
|
|
|
result:=false;
|
|
|
MessageDlg('EDIÐÅÏ¢ÖÐ'+Lines+'!',mtWarning,[mbOk],0);
|
|
|
// Exit;
|
|
|
end;
|
|
|
end else begin
|
|
|
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;
|
|
|
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,3,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(frm_op_seae_assistant.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;
|
|
|
if t_op_edi.fieldbyname('ËùÔÚ¹ú¼Ò').AsString<>'' then
|
|
|
begin
|
|
|
sl.Text:=Changestr(t_op_edi.fieldbyname('AMS֪ͨÈË').asstring);
|
|
|
for i:=0 to sl.Count-1 do
|
|
|
begin
|
|
|
if IsZhongwen(sl[i]) then
|
|
|
begin
|
|
|
MessageDlg('EDIÐÅÏ¢ÖÐ֪ͨÈËÖÐÓÐÖÐÎÄ×Ö·û»òTAB¼ü!',mtWarning,[mbOk],0);
|
|
|
end;
|
|
|
|
|
|
if Length(sl[i])>35 then
|
|
|
begin
|
|
|
result:=false;
|
|
|
MessageDlg('EDIÐÅÏ¢ÖÐ֪ͨÈËÖÐÿÐÐ×Ö·û²»Äܳ¬¹ý35¸ö×Ö·û!',mtWarning,[mbOk],0);
|
|
|
// exit;
|
|
|
end;
|
|
|
end;
|
|
|
Lines:=ControlLines(sl.Count,2,0,'AMS֪ͨÈË'); //LinesCount,CorpTypeid,BsTypeid:Integer;SName:string
|
|
|
if Lines<>'' then
|
|
|
begin
|
|
|
result:=false;
|
|
|
MessageDlg('EDIÐÅÏ¢ÖÐ'+Lines+'!',mtWarning,[mbOk],0);
|
|
|
// Exit;
|
|
|
end;
|
|
|
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
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;
|
|
|
|
|
|
end;
|
|
|
|
|
|
if bsck.Checked then
|
|
|
begin
|
|
|
sl.Text:=Changestr(frm_op_seae_assistant.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(frm_op_seae_assistant.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(frm_op_seae_assistant.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(GetLoadPortEdiID(frm_op_seae.t_op_seae.fieldbyname('×°»õ¸Û').asstring))='' then begin
|
|
|
result:=false;
|
|
|
MessageDlg('×°¸Û´úÂë²»ÄÜΪ¿Õ,ÇëÔÚÆðÔËά»¤ EDI´úÂë',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 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
|
|
|
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);
|
|
|
//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 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(frm_op_seae_assistant.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(frm_op_seae_assistant.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(frm_op_seae_assistant.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;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('¼þÊý').asinteger=0 then begin
|
|
|
result:=false;
|
|
|
MessageDlg('¼þÊý²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
|
|
|
// exit;
|
|
|
end;
|
|
|
if frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('ÖØÁ¿').asfloat=0 then begin
|
|
|
result:=false;
|
|
|
MessageDlg('ÖØÁ¿²»ÄÜΪ¿Õ',mtWarning,[mbOk],0);
|
|
|
// exit;
|
|
|
end;
|
|
|
if frm_op_seae_assistant.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;
|
|
|
|
|
|
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
|
|
|
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;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
t_op_ctn.Close;t_op_ctn.SQL.Clear;
|
|
|
t_op_ctn.SQL.Add('SELECT t_op_ctn_fendan.±àºÅ,t_op_ctn_fendan.ÊýÁ¿, t_code_ctn.EDI´úÂë,t_op_ctn_fendan.³ß´ç,t_op_ctn_fendan.°ü×°');
|
|
|
t_op_ctn.SQL.Add(',t_op_ctn_fendan.ÏäÐÍ,t_op_ctn_fendan.ÏäºÅ,t_op_ctn_fendan.ÖØÁ¿,t_op_ctn_fendan.·âºÅ,t_op_ctn_fendan.³ßÂë,t_op_ctn_fendan.¼þÊý,t_op_ctn_fendan.Æ·Ãû');
|
|
|
t_op_ctn.SQL.Add('FROM t_op_ctn_fendan INNER JOIN');
|
|
|
t_op_ctn.SQL.Add('t_code_ctn ON t_op_ctn_fendan.´úÂë = t_code_ctn.´úÂë');
|
|
|
t_op_ctn.SQL.Add('WHERE t_op_ctn_fendan.as_id=:as_id');
|
|
|
t_op_ctn.Parameters.ParamByName('as_id').Value:=frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('as_id').asinteger;
|
|
|
end;
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
if not bsck.Checked then
|
|
|
begin
|
|
|
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;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
t_op_ctn.Close;t_op_ctn.SQL.Clear;
|
|
|
t_op_ctn.SQL.Add('SELECT t_op_ctn_fendan.±àºÅ,t_op_ctn_fendan.ÊýÁ¿, t_code_ctn.EDI´úÂë,t_op_ctn_fendan.³ß´ç,t_op_ctn_fendan.°ü×°');
|
|
|
t_op_ctn.SQL.Add(',t_op_ctn_fendan.ÏäÐÍ,t_op_ctn_fendan.ÏäºÅ,t_op_ctn_fendan.ÖØÁ¿,t_op_ctn_fendan.·âºÅ,t_op_ctn_fendan.³ßÂë,t_op_ctn_fendan.¼þÊý');
|
|
|
t_op_ctn.SQL.Add('FROM t_op_ctn_fendan INNER JOIN');
|
|
|
t_op_ctn.SQL.Add('t_code_ctn ON t_op_ctn_fendan.´úÂë = t_code_ctn.´úÂë');
|
|
|
t_op_ctn.SQL.Add('WHERE t_op_ctn_fendan.as_id=:as_id');
|
|
|
t_op_ctn.Parameters.ParamByName('as_id').Value:=frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('as_id').asinteger;
|
|
|
end;
|
|
|
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_inttra.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_inttra.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_inttra.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_inttra.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_inttra.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_inttra.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_inttra.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_inttra.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_inttra.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_inttra.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_inttra.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_inttra.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_inttra.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_inttra.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 RadioGroup2.ItemIndex=5 then // HL
|
|
|
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+'+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;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if RadioGroup3.ItemIndex=0 then
|
|
|
str.Add('BGM+335+'+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+'SO+9'+#39) //9Ôʼ 5 ¸üÐÂ
|
|
|
else str.Add('BGM+335+'+frm_op_seae_assistant.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
|
|
|
case RadioGroup2.ItemIndex of
|
|
|
5 : 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+
|
|
|
' '+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+
|
|
|
' '+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;
|
|
|
end;
|
|
|
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)+' '+Changestr(frm_op_seae_assistant.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:'+frm_op_seae_assistant.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:'+frm_op_seae_assistant.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:'+frm_op_seae_assistant.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;
|
|
|
|
|
|
case RadioGroup2.ItemIndex of
|
|
|
5 : begin
|
|
|
str.Add('RFF+ON:'+frm_op_seae.t_op_seae.fieldbyname('ÒµÎñ±àºÅ').asstring+#39)
|
|
|
end;
|
|
|
else
|
|
|
begin
|
|
|
if not bsck.Checked then
|
|
|
str.Add('RFF+BN:'+frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39)
|
|
|
else str.Add('RFF+BN:'+frm_op_seae_assistant.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:'+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39);
|
|
|
count:=count+1;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
|
|
|
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 SelectCarrier then
|
|
|
begin
|
|
|
if Trim(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)<>'' then
|
|
|
begin
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)
|
|
|
+'+1++'+aCarrier.EdiNo+'+++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39)
|
|
|
else
|
|
|
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
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('º½´Î').asstring)
|
|
|
+'+1++'+aCarrier.EdiNo+'+++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39)
|
|
|
else
|
|
|
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;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if Trim(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)<>'' then
|
|
|
begin
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)
|
|
|
+'+1++'+GetShipEdiNO(frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring)+'+++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39)
|
|
|
else
|
|
|
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
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('º½´Î').asstring)
|
|
|
+'+1++'+GetShipEdiNO(frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring)+'+++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39)
|
|
|
else
|
|
|
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;
|
|
|
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
|
|
|
if t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring<>'' then begin
|
|
|
str_all.Text:=Changestr(t_op_edi.fieldbyname('AMS·¢»õÈË').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+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;
|
|
|
if RadioGroup2.ItemIndex=5 then
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,34)+'-';
|
|
|
Str_shr:='-'+Copy(str_all[4],34,1);
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,34)+'*';
|
|
|
Str_shr:='*'+Copy(str_all[4],34,1);
|
|
|
end;
|
|
|
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
|
|
|
if t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring<>'' then
|
|
|
begin
|
|
|
str_all.Text:=Changestr(t_op_edi.fieldbyname('AMSÊÕ»õÈË').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+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;
|
|
|
if RadioGroup2.ItemIndex=5 then
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,33)+'--';
|
|
|
Str_con:='--'+Copy(str_all[4],33,1);
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,33)+'**';
|
|
|
Str_con:='**'+Copy(str_all[4],33,1);
|
|
|
end;
|
|
|
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;
|
|
|
|
|
|
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);
|
|
|
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+NI+++'+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;
|
|
|
if RadioGroup2.ItemIndex=5 then
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,32)+'---';
|
|
|
Str_not:='---'+Copy(str_all[4],32,1);
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,32)+'***';
|
|
|
Str_not:='***'+Copy(str_all[4],32,1);
|
|
|
end;
|
|
|
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;
|
|
|
|
|
|
|
|
|
count:=count+1;
|
|
|
|
|
|
|
|
|
|
|
|
if SelectCarrier then
|
|
|
begin
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('NAD+CA+'+'STND'+':160:86++'+'SINOTRANS'+#39)
|
|
|
else str.Add('NAD+CA+'+aCarrier.EdiNo+':160:86++'+aCarrier.CarrierName+#39);
|
|
|
count:=count+1;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('NAD+CA+'+'STND'+':160:86++'+'SINOTRANS'+#39)
|
|
|
else 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.Add('NAD+SF+++SEAWORTHYQD+.'+#39);
|
|
|
count:=count+1;
|
|
|
}
|
|
|
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+'+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('¼þÊý').asstring+':'+
|
|
|
GetPkgCode(trim(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('°ü×°').asstring))+'::6:'+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('°ü×°').asstring+#39); //£¿
|
|
|
end;
|
|
|
count:=count+1;
|
|
|
|
|
|
|
|
|
if Trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊ䷽ʽ').asstring)<>'' then
|
|
|
begin
|
|
|
str.Add('PIA+5+'+frm_op_seae.t_op_seae.fieldbyname('ÔËÊ䷽ʽ').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:=frm_op_seae_assistant.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:'+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('ÖØÁ¿').asstring+#39);
|
|
|
count:=count+1;
|
|
|
str.Add('MEA+AAE+AAW+MTQ:'+frm_op_seae_assistant.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:=frm_op_seae_assistant.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;
|
|
|
|
|
|
if not bsck.Checked then
|
|
|
begin
|
|
|
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;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
t_op_ctn.Close;t_op_ctn.SQL.Clear;
|
|
|
t_op_ctn.SQL.Add('SELECT t_op_ctn_fendan.±àºÅ,t_op_ctn_fendan.ÊýÁ¿, t_code_ctn.EDI´úÂë,t_op_ctn_fendan.³ß´ç,t_op_ctn_fendan.°ü×°');
|
|
|
t_op_ctn.SQL.Add(',t_op_ctn_fendan.ÏäÐÍ,t_op_ctn_fendan.ÏäºÅ,t_op_ctn_fendan.ÖØÁ¿,t_op_ctn_fendan.·âºÅ,t_op_ctn_fendan.³ßÂë,t_op_ctn_fendan.¼þÊý');
|
|
|
t_op_ctn.SQL.Add('FROM t_op_ctn_fendan INNER JOIN');
|
|
|
t_op_ctn.SQL.Add('t_code_ctn ON t_op_ctn_fendan.´úÂë = t_code_ctn.´úÂë');
|
|
|
t_op_ctn.SQL.Add('WHERE t_op_ctn_fendan.as_id=:as_id');
|
|
|
t_op_ctn.close;
|
|
|
t_op_ctn.Parameters.ParamByName('as_id').Value:=frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('as_id').asinteger;
|
|
|
end;
|
|
|
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;
|
|
|
|
|
|
if Trim(frm_op_seae.t_op_seae.fieldbyname('ʪ¶È').asstring)<>'' then
|
|
|
begin
|
|
|
str.Add('MEA+AAE+AAO+HMD:'+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_inttra.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+'+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+'+9'+#39)
|
|
|
else str.Add('BGM+340+'+frm_op_seae_assistant.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(frm_op_seae_assistant.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:'+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('ÖØÁ¿').asstring+':KGM''');
|
|
|
count:=count+1;
|
|
|
str.Add('CNT+11:'+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('¼þÊý').asstring+'''');
|
|
|
count:=count+1;
|
|
|
str.Add('CNT+15:'+frm_op_seae_assistant.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
|
|
|
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_assistant.t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring+#39);
|
|
|
count:=count+1;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
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:'+frm_op_seae_assistant.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;
|
|
|
}
|
|
|
str.Add('RFF+CT:'+frm_op_seae.t_op_seae.fieldbyname('ÔË·ÑÐÒéºÅ').asstring+#39); //
|
|
|
count:=count+1;
|
|
|
|
|
|
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 SelectCarrier then
|
|
|
begin
|
|
|
if Trim(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)<>'' then
|
|
|
begin
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)
|
|
|
+'+1++'+aCarrier.EdiNo+'+++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39)
|
|
|
else
|
|
|
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
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('º½´Î').asstring)
|
|
|
+'+1++'+aCarrier.EdiNo+'+++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39)
|
|
|
else
|
|
|
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;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if Trim(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)<>'' then
|
|
|
begin
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('ÄÚ²¿º½´ÎºÅ').asstring)
|
|
|
+'+1++'+GetShipEdiNO(frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring)+'+++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39)
|
|
|
else
|
|
|
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
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('TDT+20+'+CutVoyNo(frm_op_seae.t_op_seae.fieldbyname('º½´Î').asstring)
|
|
|
+'+1++'+GetShipEdiNO(frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring)+'+++:::'+frm_op_seae.t_op_seae.fieldbyname('´¬Ãû').asstring+#39)
|
|
|
else
|
|
|
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;
|
|
|
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('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
|
|
|
if t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring<>'' then
|
|
|
begin
|
|
|
str_all.Text:=Changestr(t_op_edi.fieldbyname('AMS·¢»õÈË').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+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;
|
|
|
if RadioGroup2.ItemIndex=5 then
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,34)+'-';
|
|
|
Str_shr:='-'+Copy(str_all[4],34,1);
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,34)+'*';
|
|
|
Str_shr:='*'+Copy(str_all[4],34,1);
|
|
|
end;
|
|
|
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
|
|
|
if t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring<>'' then
|
|
|
begin
|
|
|
str_all.Text:=Changestr(t_op_edi.fieldbyname('AMSÊÕ»õÈË').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+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;
|
|
|
if RadioGroup2.ItemIndex=5 then
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,33)+'--';
|
|
|
Str_con:='--'+Copy(str_all[4],33,1);
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,33)+'**';
|
|
|
Str_con:='**'+Copy(str_all[4],33,1);
|
|
|
end;
|
|
|
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;
|
|
|
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
|
|
|
if t_op_edi.FieldByName('ËùÔÚ¹ú¼Ò').asstring<>'' then
|
|
|
begin
|
|
|
str_all.Text:=Changestr(t_op_edi.fieldbyname('AMS֪ͨÈË').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+NI+++'+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;
|
|
|
if RadioGroup2.ItemIndex=5 then
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,32)+'---';
|
|
|
Str_not:='---'+Copy(str_all[4],32,1);
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
str_guodu:=str_guodu+':'+Copy(str_all[4],1,32)+'***';
|
|
|
Str_not:='***'+Copy(str_all[4],32,1);
|
|
|
end;
|
|
|
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;
|
|
|
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
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('NAD+CA+'+'STND'+':160:86++'+'SINOTRANS'+#39)
|
|
|
else str.Add('NAD+CA+'+aCarrier.EdiNo+':160:86++'+aCarrier.CarrierName+#39);
|
|
|
count:=count+1;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if bsSkinCheckRadioBox1.Checked then
|
|
|
str.Add('NAD+CA+'+'STND'+':160:86++'+'SINOTRANS'+#39)
|
|
|
else 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 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';
|
|
|
|
|
|
|
|
|
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';
|
|
|
if frm_op_seae.t_op_seae.fieldbyname('ÔË·Ñ').AsBoolean then
|
|
|
str.Add('DOC+'+Str2+'+:27++'+Str1+#39)
|
|
|
else 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')
|
|
|
or (trim(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥·½Ê½').asstring)='SWBÕý±¾')
|
|
|
or (trim(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥·½Ê½').asstring)='SWBÎÞÕý±¾') then begin //SWBÕý±¾ //SWBÎÞÕý±¾
|
|
|
Str2:='710';
|
|
|
if frm_op_seae.t_op_seae.fieldbyname('ÔË·Ñ').AsBoolean then
|
|
|
str.Add('DOC+'+Str2+'+:27++'+Str1+#39)
|
|
|
else str.Add('DOC+'+Str2+'+++'+Str1+#39);
|
|
|
|
|
|
count:=count+1;
|
|
|
end else if (trim(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥·½Ê½').asstring)='BILL COPY') or
|
|
|
(trim(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥·½Ê½').asstring)='µç·Å')
|
|
|
then begin
|
|
|
|
|
|
Str2:='706';
|
|
|
if frm_op_seae.t_op_seae.fieldbyname('ÔË·Ñ').AsBoolean then
|
|
|
str.Add('DOC+'+Str2+'+:27++'+Str1+#39)
|
|
|
else 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)='HOUSE BILL' then begin
|
|
|
Str2:='714';
|
|
|
if frm_op_seae.t_op_seae.fieldbyname('ÔË·Ñ').AsBoolean then
|
|
|
str.Add('DOC+'+Str2+'+:27++'+Str1+#39)
|
|
|
else str.Add('DOC+'+Str2+'+++'+Str1+#39);
|
|
|
|
|
|
count:=count+1;
|
|
|
end else if trim(frm_op_seae.t_op_seae.fieldbyname('Ç©µ¥·½Ê½').asstring)='Õý¸±±¾' then begin
|
|
|
Str2:='706';
|
|
|
if frm_op_seae.t_op_seae.fieldbyname('ÔË·Ñ').AsBoolean then
|
|
|
str.Add('DOC+'+Str2+'+:27++'+Str1+#39)
|
|
|
else 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
|
|
|
begin
|
|
|
Str2:='706';
|
|
|
if frm_op_seae.t_op_seae.fieldbyname('ÔË·Ñ').AsBoolean then
|
|
|
str.Add('DOC+'+Str2+'+:27++'+Str1+#39)
|
|
|
else 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;
|
|
|
}
|
|
|
|
|
|
///
|
|
|
ctnlist:=TStringList.Create;
|
|
|
ctnlist.Clear;
|
|
|
with t_op_edictn do
|
|
|
begin
|
|
|
Close;SQL.Clear;
|
|
|
SQL.Add('select ctn_id from t_op_ctn');
|
|
|
SQL.Add('where 񅧏=:bsno');
|
|
|
Parameters.ParamByName('bsno').Value:=frm_op_seae.t_op_seae.fieldbyname('񅧏').asstring;
|
|
|
open;First;
|
|
|
while not eof do
|
|
|
begin
|
|
|
ctnlist.Add(FieldByName('ctn_id').AsString);
|
|
|
Next;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
t_op_edictn.Close;t_op_edictn.SQL.Clear;
|
|
|
t_op_edictn.SQL.Add('select * from t_op_ctn_detail');
|
|
|
t_op_edictn.SQL.Add('where ctn_id in ('+ctnlist.CommaText+')');
|
|
|
t_op_edictn.Open;
|
|
|
if t_op_edictn.RecordCount<=0 then
|
|
|
begin
|
|
|
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+'+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('¼þÊý').asstring+':'+
|
|
|
GetPkgCode(trim(frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('°ü×°').asstring))+'::6:'+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('°ü×°').asstring+#39); //£¿
|
|
|
count:=count+1;
|
|
|
|
|
|
end;
|
|
|
|
|
|
if Trim(frm_op_seae.t_op_seae.fieldbyname('ÔËÊ䷽ʽ').asstring)<>'' then begin // ÉÌÆ·±àÂë
|
|
|
str.Add('PIA+5+'+frm_op_seae.t_op_seae.fieldbyname('ÔËÊ䷽ʽ').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:=frm_op_seae_assistant.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:=frm_op_seae_assistant.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:'+frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('ÖØÁ¿').asstring+#39);
|
|
|
count:=count+1;
|
|
|
str.Add('MEA+AAE+AAW+MTQ:'+frm_op_seae_assistant.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:=frm_op_seae_assistant.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;
|
|
|
|
|
|
|
|
|
|
|
|
if not bsck.Checked then
|
|
|
begin
|
|
|
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;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
t_op_ctn.Close;t_op_ctn.SQL.Clear;
|
|
|
t_op_ctn.SQL.Add('SELECT t_op_ctn_fendan.±àºÅ,t_op_ctn_fendan.ÊýÁ¿, t_code_ctn.EDI´úÂë,t_op_ctn_fendan.³ß´ç,t_op_ctn_fendan.°ü×°');
|
|
|
t_op_ctn.SQL.Add(',t_op_ctn_fendan.ÏäÐÍ,t_op_ctn_fendan.ÏäºÅ,t_op_ctn_fendan.ÖØÁ¿,t_op_ctn_fendan.·âºÅ,t_op_ctn_fendan.³ßÂë,t_op_ctn_fendan.¼þÊý');
|
|
|
t_op_ctn.SQL.Add('FROM t_op_ctn_fendan INNER JOIN');
|
|
|
t_op_ctn.SQL.Add('t_code_ctn ON t_op_ctn_fendan.´úÂë = t_code_ctn.´úÂë');
|
|
|
t_op_ctn.SQL.Add('WHERE t_op_ctn_fendan.as_id=:as_id');
|
|
|
t_op_ctn.close;
|
|
|
t_op_ctn.Parameters.ParamByName('as_id').Value:=frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('as_id').asinteger;
|
|
|
end;
|
|
|
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;
|
|
|
|
|
|
t_op_ctn.next;
|
|
|
end;
|
|
|
end
|
|
|
else //·ÖÏäÃ÷ϸ
|
|
|
begin
|
|
|
t_op_edictn.Close;t_op_edictn.SQL.Clear;
|
|
|
t_op_edictn.SQL.Add('select hts,»õÎïÃèÊö,°ü×°,sum(¼þÊý)¼þÊý,sum(ÖØÁ¿) ÖØÁ¿,sum(³ßÂë) ³ßÂë');
|
|
|
t_op_edictn.SQL.Add('from t_op_ctn_detail');
|
|
|
t_op_edictn.SQL.Add('where ctn_id in ('+ctnlist.CommaText+')');
|
|
|
t_op_edictn.SQL.Add('Group by hts,»õÎïÃèÊö,°ü×°');
|
|
|
t_op_edictn.SQL.Add('Order by min(id)');
|
|
|
t_op_edictn.Open;
|
|
|
Lineno:=1;
|
|
|
while not t_op_edictn.eof do
|
|
|
begin
|
|
|
str.Add('GID+'+Inttostr(Lineno)+'+'+t_op_edictn.fieldbyname('¼þÊý').asstring+':'+
|
|
|
GetPkgCode(trim(t_op_edictn.fieldbyname('°ü×°').asstring))+'::6:'+t_op_edictn.fieldbyname('°ü×°').asstring+#39); //£¿
|
|
|
count:=count+1;
|
|
|
|
|
|
str.Add('PIA+5+'+t_op_edictn.fieldbyname('hts').asstring+':HS'+#39); //£¿
|
|
|
count:=count+1;
|
|
|
|
|
|
sl:=TStringList.Create;
|
|
|
try
|
|
|
sl.text:=t_op_edictn.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;
|
|
|
|
|
|
str.Add('MEA+AAE+WT+KGM:'+t_op_edictn.fieldbyname('ÖØÁ¿').asstring+#39);
|
|
|
count:=count+1;
|
|
|
str.Add('MEA+AAE+AAW+MTQ:'+t_op_edictn.fieldbyname('³ßÂë').asstring+#39);
|
|
|
count:=count+1;
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
if Lineno=1 then
|
|
|
begin
|
|
|
sl:=TStringList.Create;
|
|
|
try
|
|
|
if not bsck.Checked then
|
|
|
sl.text:=frm_op_seae.t_op_seae.fieldbyname('ßéÍ·').asString
|
|
|
else sl.text:=frm_op_seae_assistant.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;
|
|
|
end;
|
|
|
|
|
|
aAdoQuery:=CreateAdoQuery;
|
|
|
try
|
|
|
aAdoQuery.Close;aAdoQuery.SQL.Clear;
|
|
|
aAdoQuery.SQL.Add('select t_op_ctn.ÏäºÅ,sum(t_op_ctn_detail.¼þÊý)¼þÊý,sum(t_op_ctn_detail.ÖØÁ¿) ÖØÁ¿,sum(t_op_ctn_detail.³ßÂë) ³ßÂë');
|
|
|
aAdoQuery.SQL.Add('from t_op_ctn_detail');
|
|
|
aAdoQuery.SQL.Add('left Join t_op_ctn on t_op_ctn.ctn_id=t_op_ctn_detail.ctn_id');
|
|
|
aAdoQuery.SQL.Add('where t_op_ctn.±àºÅ=:±àºÅ and t_op_ctn_detail.»õÎïÃèÊö=:goods and t_op_ctn_detail.°ü×°=:pkg and t_op_ctn_detail.hts=:hts');
|
|
|
aAdoQuery.SQL.Add('Group by t_op_ctn.ÏäºÅ');
|
|
|
aAdoQuery.Parameters.ParamByName('goods').Value:=t_op_edictn.fieldbyname('»õÎïÃèÊö').asstring;
|
|
|
aAdoQuery.Parameters.ParamByName('pkg').Value:=t_op_edictn.fieldbyname('°ü×°').asstring;
|
|
|
aAdoQuery.Parameters.ParamByName('hts').Value:=t_op_edictn.fieldbyname('hts').asstring;
|
|
|
aAdoQuery.Parameters.ParamByName('񅧏').Value:=frm_op_seae.t_op_seae.fieldbyname('񅧏').asstring;
|
|
|
aAdoQuery.Open;
|
|
|
while not aAdoQuery.eof do
|
|
|
begin
|
|
|
str.Add('SGP+'+aAdoQuery.fieldbyname('ÏäºÅ').asstring+'+'+aAdoQuery.fieldbyname('¼þÊý').asstring+#39); //ÊýÁ¿
|
|
|
count:=count+1;
|
|
|
str.Add('MEA+AAE+WT+KGM:'+aAdoQuery.fieldbyname('ÖØÁ¿').asstring+#39);
|
|
|
count:=count+1;
|
|
|
str.Add('MEA+AAE+AAW+MTQ:'+aAdoQuery.fieldbyname('³ßÂë').asstring+#39);
|
|
|
count:=count+1;
|
|
|
aAdoQuery.Next;
|
|
|
end;
|
|
|
finally
|
|
|
aAdoQuery.Free;
|
|
|
end;
|
|
|
Lineno:=Lineno+1;
|
|
|
t_op_edictn.Next;
|
|
|
end;
|
|
|
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;
|
|
|
|
|
|
if not bsck.Checked then
|
|
|
begin
|
|
|
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;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
t_op_ctn.Close;t_op_ctn.SQL.Clear;
|
|
|
t_op_ctn.SQL.Add('SELECT t_op_ctn_fendan.±àºÅ,t_op_ctn_fendan.ÊýÁ¿, t_code_ctn.EDI´úÂë,t_op_ctn_fendan.³ß´ç,t_op_ctn_fendan.°ü×°');
|
|
|
t_op_ctn.SQL.Add(',t_op_ctn_fendan.ÏäÐÍ,t_op_ctn_fendan.ÏäºÅ,t_op_ctn_fendan.ÖØÁ¿,t_op_ctn_fendan.·âºÅ,t_op_ctn_fendan.³ßÂë,t_op_ctn_fendan.¼þÊý');
|
|
|
t_op_ctn.SQL.Add('FROM t_op_ctn_fendan INNER JOIN');
|
|
|
t_op_ctn.SQL.Add('t_code_ctn ON t_op_ctn_fendan.´úÂë = t_code_ctn.´úÂë');
|
|
|
t_op_ctn.SQL.Add('WHERE t_op_ctn_fendan.as_id=:as_id');
|
|
|
t_op_ctn.close;
|
|
|
t_op_ctn.Parameters.ParamByName('as_id').Value:=frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('as_id').asinteger;
|
|
|
end;
|
|
|
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_inttra.bsSkinButton1Click(Sender: TObject);
|
|
|
var
|
|
|
str:Tstringlist;
|
|
|
i,Count,get_Count,bill_count:integer;
|
|
|
inifile1:Tinifile;
|
|
|
SIO,ORG,MBL,CARR,MBLNO,ETD,CORP,EMP,EMPDAE:string;
|
|
|
edi:WideString;
|
|
|
begin
|
|
|
if bsck.Checked then
|
|
|
begin
|
|
|
if frm_op_seae_assistant=nil then
|
|
|
begin
|
|
|
ShowMessage('ÇëÔÚ(ίÍкÍÌáµ¥)½çÃæÑ¡Ôñ·Öµ¥·¢ËÍ·Öµ¥Edi');
|
|
|
exit;
|
|
|
end
|
|
|
end;
|
|
|
|
|
|
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_inttra.get_txtSI(str)
|
|
|
else
|
|
|
get_Count:=frm_op_seae_edi_inttra.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_inttra.get_txtSI(str)
|
|
|
else
|
|
|
get_Count:=frm_op_seae_edi_inttra.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),1);
|
|
|
if SaveDialog1.Execute then
|
|
|
begin
|
|
|
str.SaveToFile(SaveDialog1.FileName+'.txt');
|
|
|
showmessage('ÎļþÉú³É³É¹¦£¡');
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
showmessage('ÎļþÉú³Éʧ°Ü£¡');
|
|
|
exit;
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
{procedure Tfrm_op_seae_edi_cma.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_cma.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_cma.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_inttra.FormShow(Sender: TObject);
|
|
|
var
|
|
|
inifile1:Tinifile;
|
|
|
begin
|
|
|
inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini');
|
|
|
edit1.text:=inifile1.ReadString('EDI','SEND_CODE','');
|
|
|
edit2.text:=inifile1.ReadString('EDI','SEND_NAME','');
|
|
|
edit3.text:=inifile1.ReadString('EDI','RECEIVE_CODE','');
|
|
|
edit4.text:=inifile1.ReadString('EDI','RECEIVE_NAME','');
|
|
|
edit5.text:=inifile1.ReadString('EDI','SEND_TEL','');
|
|
|
edit6.text:=inifile1.ReadString('EDI','SEND_MAIL','');
|
|
|
edit7.text:=inifile1.ReadString('EDI','SEND_ATTN','');
|
|
|
edit8.text:=inifile1.ReadString('EDI','FTPADD','');
|
|
|
edit9.text:=inifile1.ReadString('EDI','FTPNAME','');
|
|
|
edit10.text:=inifile1.ReadString('EDI','FTPPASS','');
|
|
|
edit11.text:=inifile1.ReadString('EDI','FTPPATH','/');
|
|
|
edit13.text:=inifile1.ReadString('EDI','FTPPATHSI','');
|
|
|
|
|
|
edit12.text:=inifile1.ReadString('EDI','ADDR','');
|
|
|
RadioGroup1.ItemIndex:=inifile1.ReadInteger('EDI','CMASEND_TYPE',0);
|
|
|
|
|
|
RadioGroup2.ItemIndex:=inifile1.ReadInteger('EDI','CMASEND_CA',0);
|
|
|
|
|
|
IF RadioGroup2.ItemIndex=8 THEN
|
|
|
bsSkinCheckRadioBox1.Checked:=True;
|
|
|
|
|
|
|
|
|
inifile1.free;
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm_op_seae_edi_inttra.bsSkinButton3Click(Sender: TObject);
|
|
|
begin
|
|
|
if frm_op_seae_edi_cma.Width=650 then
|
|
|
frm_op_seae_edi_cma.Width:=305
|
|
|
else
|
|
|
frm_op_seae_edi_cma.Width:=650;
|
|
|
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm_op_seae_edi_inttra.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;
|
|
|
|
|
|
SIO,ORG,MBL,CARR,MBLNO,ETD,CORP,EMP,EMPDAE:string;
|
|
|
edi:WideString;
|
|
|
|
|
|
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_inttra.get_txtSI(StrL)
|
|
|
else
|
|
|
get_Count:=frm_op_seae_edi_inttra.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_inttra.get_txtSI(StrL)
|
|
|
else
|
|
|
get_Count:=frm_op_seae_edi_inttra.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);
|
|
|
edi:=StrL.Text;
|
|
|
|
|
|
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.ChangeDir(ftppath);
|
|
|
idftp1.TransferType:=ftBinary;
|
|
|
idftp1.Put(str,str_file);
|
|
|
idftp1.Disconnect;
|
|
|
showmessage('ÎļþÉÏ´«³É¹¦£¡');
|
|
|
|
|
|
|
|
|
//
|
|
|
if RadioGroup1.ItemIndex=0 then
|
|
|
SIO:='SO'
|
|
|
else SIO:='SI';
|
|
|
if RadioGroup3.ItemIndex=0 then
|
|
|
ORG:='ORG'
|
|
|
else ORG:='AMEND';
|
|
|
|
|
|
IF bsck.Checked then
|
|
|
begin
|
|
|
MBL:='·Öµ¥';
|
|
|
MBLNO:=frm_op_seae_assistant.t_op_seae_assistant.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
MBL:='Ö÷µ¥';
|
|
|
MBLNO:=frm_op_seae.t_op_seae.fieldbyname('Ö÷Ìáµ¥ºÅ').asstring;
|
|
|
end;
|
|
|
CARR:=frm_op_seae.t_op_seae.fieldbyname('´¬¹«Ë¾').asstring;
|
|
|
CORP:=frm_op_seae.t_op_seae.fieldbyname('ίÍе¥Î»').asstring;
|
|
|
EMP:=employee;
|
|
|
EMPDAE:=FormatDateTime('YYYY-MM-DD hh:mm:ss',now);
|
|
|
ETD:=FormatDateTime('YYYY-MM-DD',frm_op_seae.t_op_seae.fieldbyname('¿ª´¬ÈÕÆÚ').value);
|
|
|
// Insertt_op_Edi_Log(SIO,ORG,MBL,CARR,MBLNO,ETD,CORP,EMP,EMPDAE,str,edi);
|
|
|
|
|
|
|
|
|
except
|
|
|
on e : exception do
|
|
|
begin
|
|
|
MessageDlg('ÎļþÉÏ´«´íÎó£¡'+e.message,mtError,[mbOk],0);
|
|
|
deletefile(str);
|
|
|
i_soi:=1;
|
|
|
// showmessage('ÎļþÉÏ´«´íÎó£¡');
|
|
|
end;
|
|
|
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_inttra.FormClose(Sender: TObject;
|
|
|
var Action: TCloseAction);
|
|
|
VAR
|
|
|
inifile1:TIniFile;
|
|
|
begin
|
|
|
inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini');
|
|
|
inifile1.WriteString('EDI','SEND_CODE',edit1.text);
|
|
|
inifile1.WriteString('EDI','SEND_NAME',edit2.text);
|
|
|
inifile1.WriteString('EDI','RECEIVE_CODE',edit3.text);
|
|
|
inifile1.WriteString('EDI','RECEIVE_NAME',edit4.text);
|
|
|
inifile1.WriteString('EDI','SEND_TEL',edit5.text);
|
|
|
inifile1.WriteString('EDI','SEND_MAIL',edit6.text);
|
|
|
inifile1.WriteString('EDI','SEND_ATTN',edit7.text);
|
|
|
|
|
|
inifile1.WriteString('EDI','FTPADD',edit8.text);
|
|
|
inifile1.WriteString('EDI','FTPNAME',edit9.text);
|
|
|
inifile1.WriteString('EDI','FTPPASS',Edit10.text);
|
|
|
inifile1.WriteString('EDI','FTPPATH',Edit11.text);
|
|
|
|
|
|
inifile1.WriteString('EDI','FTPPATHSI',Edit13.text);
|
|
|
|
|
|
|
|
|
inifile1.WriteString('EDI','ADDR',edit12.text);
|
|
|
|
|
|
inifile1.WriteInteger('EDI','CMASEND_TYPE',RadioGroup1.ItemIndex);
|
|
|
|
|
|
inifile1.WriteInteger('EDI','CMASEND_CA',RadioGroup2.ItemIndex);
|
|
|
|
|
|
inifile1.free;
|
|
|
action:=cafree;
|
|
|
frm_op_seae_edi_cma:=nil;
|
|
|
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm_op_seae_edi_inttra.RadioGroup2Click(Sender: TObject);
|
|
|
begin
|
|
|
IF RadioGroup2.ItemIndex=8 THEN
|
|
|
bsSkinCheckRadioBox1.Checked:=True
|
|
|
ELSE bsSkinCheckRadioBox1.Checked:=False;
|
|
|
end;
|
|
|
|
|
|
end.
|