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