'********************************************************************************
'*		内容		：		ＳＳ無線ＦＴＰ対応(BHT7500S)						*
'*					：		MAIN.PD3より起動されるもの							*
'*		作成日		：		2002.01.25											*
'*																				*
'*		更新日		：		2002.12.29	柿花									*
'*							ｱｯﾌﾟﾛｰﾄﾞﾃｷｽﾄのﾌｧｲﾙ名を時間+HHT№にする				*
'*																				*
'********************************************************************************

'+------------------------------------------------------------------------------+
'|                                                                      	    |
'|	ASPAC消費財卸　ハンディオプション											|
'|		ﾌﾟﾛｸﾞﾗﾑ		：		無線ﾃﾞｰﾀ送受信										|
'|		ﾌﾟﾛｸﾞﾗﾑ ID	：		FTPmain												|
'|		作成者		：		kakihana											|
'|		作成日		：		2004.07.13											|
'|		ﾊﾞｰｼﾞｮﾝ		：		V04L01												|
'|        	                                                             	    |
'|		・紙叶システムをベースにＳＳ無線ＦＴＰ対応を行う	03.05.07版			|
'|      ・入荷検品を入荷予定ﾀﾞｳﾝﾛｰﾄﾞ型にする				新規開発			|
'|                                                                      		|
'+------------------------------------------------------------------------------+

'+===========================================================================+
'|  アプリケーション								                         |
'+===========================================================================+

'+---------------------------------------------------------------------------+
'|  f.up/f.down                                            2002/01/27        |
'|                                                                           |
'|    【処理内容】                                                           |
'|      ●ｵｰﾄﾊﾟﾜｰｵﾌ無効                                                      |
'|        ・ｵｰﾄﾊﾟﾜｰｵﾌを無効にします。                                        |
'|        ・電源断させるまでのPOWERの押下時間を5秒にします。                 |
'|          (通信中に容易に電源断できないようにしておきます)                 |
'|      ●FTPﾛｸﾞｲﾝ                                                           |
'|        ・COM3ｵｰﾌﾟﾝ                                                        |
'|        ・Ethernet接続                                                     |
'|        ・FTPﾛｸﾞｲﾝ                                                         |
'|      ●FTPｻｰﾊﾞのｶﾚﾝﾄﾃﾞｨﾚｸﾄﾘの移動をします。                               |
'|            f.chdir$の値に従う                                           	 |
'|      ●FTPｻｰﾊﾞにﾌｧｲﾙを送受信します。                                      |
'|      ●FTPｻｰﾊﾞからﾛｸﾞｱｳﾄします。                                          |
'|        ・FTPﾛｸﾞｱｳﾄ                                                        |
'|        ・Ethernet切断                                                     |
'|        ・COM3ｸﾛｰｽﾞ                                                        |
'|      ●ｵｰﾄﾊﾟﾜｰｵﾌ有効                                                      |
'|        ・ｵｰﾄﾊﾟﾜｰｵﾌを有効にします。初期値と同じ180秒                       |
'|        ・電源断させるまでのPOWERの押下時間を0.5秒にします。ﾃﾞﾌｫﾙﾄ         |
'|                                                                           |
'+---------------------------------------------------------------------------+
f.up

	'初期処理
'▼ 消費財卸V4.1.0　2005/05/13 kakihana	(S)
'｜変数の個数が最大数をオーバーした対応
'｜	f.stat%=F.INIT%
'｜	f.proc%=F.INIT%
'｜	k.proc%=K.INIT%
	f.stat%=0
	f.proc%=0
	k.proc%=0
'▲ 消費財卸V4.1.0　2005/05/13 kakihana	(E)

	f.time$=mid$(time$,1,2)+mid$(time$,4,2)+mid$(time$,7,2)

	'FTPﾊﾟﾗﾒﾀ取得
	gosub f.init
	if f.err9=1 then return endif

	'ﾛｸﾞｲﾝ
	gosub f.login
	if f.err9=1 then return endif

	'ｶﾚﾝﾄをﾃﾞｰﾀﾌｫﾙﾀﾞにする
	f.chdir$=f.din$
	gosub f.chgdir
	if f.err9=1 then return endif

	'ﾃﾞｰﾀｱｯﾌﾟﾛｰﾄﾞ
'▼--- ｱｯﾌﾟﾛｰﾄﾞﾃｷｽﾄのﾌｧｲﾙ名を時間+HHT№にする --- 02.12.29 START ▼
'｜	f.sfnm$=hht$+f.time$+".TXT"
	f.sfnm$=f.time$+hht$+".TXT"
'▲---------------------------------------------- 02.12.29 E N D ▲
	f.cfnm$=basefile$
	gosub f.upld									'アップロード
	if f.err9=1 then return endif

	'管理ﾌｧｲﾙの送信
'▼ 消費財卸V4.1.0　2005/05/13 kakihana	(S)
'｜変数の個数が最大数をオーバーした対応
'｜	k.proc%=K.INIT%
	k.proc%=0
'▲ 消費財卸V4.1.0　2005/05/13 kakihana	(E)
	'ｶﾚﾝﾄを管理ﾌｫﾙﾀﾞにする
	k.proc%=K.CDIR%									'管理ﾌｫﾙﾀﾞ移動
	f.chdir$=f.dkanri$
	gosub f.chgdir
	if f.err9=1 then return endif

	k.proc%=K.KANRI%
'▼--- ｱｯﾌﾟﾛｰﾄﾞﾃｷｽﾄのﾌｧｲﾙ名を時間+HHT№にする --- 02.12.29 START ▼
'｜	kanrif$=hht$+f.time$+".FLG"
'ILS-MOD Start 北九州共和個別カスタマイズ 導入
'	kanrif$=f.time$+hht$+".FLG"
	kanrif$=f.time$+".FLG"
'ILS-MOD End 北九州共和個別カスタマイズ 導入
'▲---------------------------------------------- 02.12.29 E N D ▲
	gosub f.kopn									'管理ﾌｧｲﾙの作成
	if f.err9=1 then return endif

	k.proc%=K.UP%									'管理ﾌｧｲﾙ送信
'ILS-MOD Start 北九州共和個別カスタマイズ 導入
'	f.sfnm$=""
	f.sfnm$=f.time$+hht$+".FLG"
'ILS-MOD End 北九州共和個別カスタマイズ 導入
	f.cfnm$=kanrif$
	gosub f.upld									'アップロード
	if f.err9=1 then return endif

	gosub f.logoff									'ﾛｸﾞｵﾌ
	if f.err9=1 then return endif

	'終了処理
	gosub f.quit
	if f.err9=1 then return endif
'	kill mid$(basefile$,1)							'ﾛｰｶﾙﾌｧｲﾙ
	kill mid$(kanrif$,1)							'ﾛｰｶﾙ管理ﾌｧｲﾙ削除

  return

'+---------------------------------------------------------------------------+
'|                                                                           |
'|    【パラメタ】                                                           |
'|     	f.dfdr$		'データﾌｫﾙﾀﾞ名			     		     |
'|     	f.kfnm$		'管理ﾌｧｲﾙ名			     		     |
'|      f.dfnms$	'ｻｰﾊﾞﾌｧｲﾙ名					     |
'|      f.dfnmc$	'HHTﾌｧｲﾙ名					     |
'|     	f.dfld$		'受信ﾌｧｲﾙの項目桁区切り情報		     	     |
'|                                                                           |
'+---------------------------------------------------------------------------+
f.down

	'初期処理
'▼ 消費財卸V4.1.0　2005/05/13 kakihana	(S)
'｜変数の個数が最大数をオーバーした対応
'｜	f.proc%=F.INIT%
'｜	k.proc%=K.INIT%
	f.proc%=0
	k.proc%=0
'▲ 消費財卸V4.1.0　2005/05/13 kakihana	(E)

	'FTPﾊﾟﾗﾒﾀ取得
	gosub f.init
	if f.err9=1 then return endif

	'ﾛｸﾞｲﾝ
	gosub f.login
	if f.err9=1 then return endif

	'ｻｰﾊﾞ管理Fの存在ﾁｪｯｸ
'▼ 消費財卸V4.1.0　2005/05/13 kakihana	(S)
'｜変数の個数が最大数をオーバーした対応
'｜	k.proc%=K.INIT%
	k.proc%=0
'▲ 消費財卸V4.1.0　2005/05/13 kakihana	(E)
	'ｶﾚﾝﾄを管理ﾌｫﾙﾀﾞにする
	k.proc%=K.CDIR%									'管理ﾌｫﾙﾀﾞ移動
	f.chdir$=f.dkanri$
	gosub f.chgdir
	if f.err9=1 then return endif

	'管理ﾌｧｲﾙ確認
	k.proc%=K.EXIS%									'ｻｰﾊﾞ管理ﾌｧｲﾙ存在ﾁｪｯｸ
	k.file%=0
	f.sfnm$="00"+f.kfnm$
	f.cfnm$=""
	f.fld$=kanriffld$
'▼プログラムダウンロードのエラー　　　15.07.17 大坪
	gosub f.downld									'ダウンロード
'▲プログラムダウンロードのエラー　　　15.07.17 大坪

	if f.err9=1 then
		if k.file%=1 then							'存在しない（続行可）
			f.err9=0
		else
			return									'その他のエラー
		endif
	else											'存在する
		gosub f.logoff								'ﾛｸﾞｵﾌ
		if f.err9=1 then return endif
		gosub f.quit								'終了処理
		if f.err9=1 then return endif
		gosub f.err1								'続行不可画面表示
		kill mid$(f.sfnm$,1)
		f.err9=1									'ｴﾗｰにして帰る
		return
	endif
	'管理ﾌｧｲﾙの送信
	k.proc%=K.KANRI%
	kanrif$=hht$+f.kfnm$
	gosub f.kopn
	if f.err9=1 then return endif

	k.proc%=K.UP%									'管理ﾌｧｲﾙ送信
	f.sfnm$=""
	f.cfnm$=kanrif$
	gosub f.upld									'アップロード
	if f.err9=1 then return endif
	
	'ｶﾚﾝﾄをﾃﾞｰﾀﾌｫﾙﾀﾞにする
	f.chdir$=f.dfdr$
	gosub f.chgdir
	if f.err9=1 then return endif

	'ﾃﾞｰﾀﾀﾞｳﾝﾛｰﾄﾞ
	f.sfnm$=f.dfnms$
	f.cfnm$=f.dfnmc$
	f.fld$=f.dfld$
	gosub f.downld									'ダウンロード
	if f.err9=1 then return endif

	'ｶﾚﾝﾄを管理ﾌｫﾙﾀﾞにする
	f.chdir$=f.dkanri$
	gosub f.chgdir
	if f.err9=1 then return endif

	'管理ﾌｧｲﾙの削除
	k.proc%=K.DEL%									'管理ﾌｧｲﾙ削除
	f.sfnm$=kanrif$
	gosub f.del										'ｻｰﾊﾞﾌｧｲﾙ削除
	if f.err9=1 then return endif
	kill mid$(kanrif$,1)							'ﾛｰｶﾙ管理ﾌｧｲﾙ削除

	'終了処理
	gosub f.logoff							'ﾛｸﾞｵﾌ
	if f.err9=1 then return endif

	gosub f.quit
	if f.err9=1 then return endif

	return

'+---------------------------------------------------------------------------+
'|  f.err1                                                     2002/01/27    |
'|                                                                           |
'|    【処理内容】                                                           |
'|      ●サーバ処理中のため受信できない場合のエラー画面					 |
'|                                                                           |
'+---------------------------------------------------------------------------+
f.err1
		  '....*....1....*....2
'MOD 06/08/31 T.S
'	print "　　　　　　　　　　"
'	print "受信データ作成中です"
'	print "しばらくしてから、　"
'	print "受信してください　　"
	print "　　　　　　　　"
	print "受信データ作成中"
	print "しばらくしてから"
	print "受信してください"

	beep 1,1,3
	timea=100
	wait 0 , 3 : a$ = inkey$									'ｷｰ入力を待つ

	return

'+-----------------------------------------------+
'| ｴﾗｰ時の処理                                   |
'+-----------------------------------------------+
Er2Ftp

  'ｴﾗｰ割込み設定
  on error goto ErrIgnore                         'ｴﾗｰ割込み設定

	'f.proc%に処理内容、f.stat%に状態を保存している。
	'値の意味は変数定義のftpwork.src内のF.xxxx%を参照

	'エラーメッセージ生成
	err.proc$=""
	err.coment$=""

	select case f.proc%
		case	0
			err.proc$="初期処理失敗　"
		case	4
			err.proc$="ログイン失敗　"
		case	5
			err.proc$="指定ﾌｫﾙﾀﾞなし "
			err.coment$=f.chdir$
		case	6
			err.proc$="管理Ｆ作成失敗"
			err.coment$=kanrif$
		case	7
			err.proc$="ﾌｧｲﾙ受信失敗　"
			err.coment$=f.sfnm$
		case	8
			err.proc$="ﾌｧｲﾙ送信失敗　"
			err.coment$=f.cfnm$
		case	9
			err.proc$="ﾌｧｲﾙ変名失敗　"
		case	10
			err.proc$="ﾌｧｲﾙ削除失敗　"
			err.coment$=f.sfnm$
		case	11
			err.proc$="ログオフ失敗　"
		case	12
			err.proc$="終了処理失敗　"
		case	else
			err.proc$="原因不明のエラー "
	end select

	'サーバにファイルがない
	if (f.proc%=F.DOWN% or f.proc%=F.RENM% or f.proc%=F.DEL%) _
	    and err.code%=ERR.DOWN% and sav.reply%=ERR.REPLY% then
	  if k.proc%=K.EXIS% then							'管理ﾌｧｲﾙの存在ﾁｪｯｸだった場合
			k.file%=1									'存在しなかったフラグ
			return										'接続したまま続行
	  else
			'ファイルが存在しない。桁区切りが違う場合は詳細メッセージはださない
			cls
			print "　　　　　ERROR!"
			print err.proc$
			print err.coment$
	'MOD 06/08/30 T.S
'			print "該当のデータが　"
'			print "ありません　　　"
'			print "●該当データなし"
			locate 1 , fntatechg9(1) : print werror$
	  endif
	else
		cls
		if assoc%=-1 then 
			'同期エラー
			print "　　　　　ERROR!"
			print "アクセスポイント"
			print "から離れています"
			print "移動してください"
		else
			'その他エラー
			print "　　　　　ERROR!"
			print err.proc$
			print err.coment$
	'MOD 06/08/30 T.S
'			print "再処理してください"
			print "再処理して下さい"
'==			print " "
'==			print "stat:"+fnstr$(f.stat%)+"K"+fnstr$(k.proc%)+" reply:"+fnstr$(reply%)
'ILS-MOD Start  北九州共和個別カスタマイズ 導入 
'			print "stat:"+fnstr$(f.stat%)
'			print "K"+fnstr$(k.proc%)+" reply:"+fnstr$(reply%)
			print "stat:"+ufnnumstr$(f.stat%)
			print "K"+ufnnumstr$(k.proc%)+" reply:"+ufnnumstr$(reply%)
'ILS-MOD End  北九州共和個別カスタマイズ 導入 
'			print "Error No. 　　　"
			print "ERR="+hex$(err.code%)+"h ERL="+hex$(err.line9)+"h"
'==			locate 1 , fntatechg9(1) : print werror$
		endif
	end if

  '-----------------------------------------------
  '終了処理
  '-----------------------------------------------
	'強制的にﾛｸﾞｱｳﾄして(進捗表示なし)戻る
	call "ftp.fn3" 3 hftp%,reply%             			'ﾛｸﾞｱｳﾄ
	call "socket.fn3" 43 interface%               		'Ethernet切断
	close #hCom3                                  		'COM3ｸﾛｰｽﾞ
	kill mid$(kanrif$,1)								'ﾛｰｶﾙ管理ﾌｧｲﾙ削除
'▼ 消費財卸V4.1.0　2005/05/13 kakihana	(S)
'｜変数の個数が最大数をオーバーした対応
'｜	f.stat%=F.INIT%
	f.stat%=0
'▲ 消費財卸V4.1.0　2005/05/13 kakihana	(E)

	gosub f.quit

	beep 1,1,3                                  		'ｴﾗｰ音
	wait 0 ,3 : aa$ = inkey$

	return
'+---------------------------------------------------------------------------+
'|  ErrIgnore                                                  2002/01/27    |
'|                                                                           |
'|  【機能】標準ｴﾗｰ割込み処理                                                |
'|                                                                           |
'|  【処理内容】                                                             |
'|    ・発生したｴﾗｰを無視し、ｴﾗｰが発生した次の処理(行)に飛ぶ                 |
'|                                                                           |
'+---------------------------------------------------------------------------+
ErrIgnore

	resume next                                     'ｴﾗｰ発生処理の次に戻る

	return
