PkBase
概要 †
ファイル転送クラス
オーダに付随する画像やXMLデータをファイルサーバに転送します。
ジャーナルへはZIPファイルとして転送。
そこから発行データとしてもZIPファイル、カルテ参照用には展開して特定ファイル*1のみを転送。
関数一覧 †
使い方 †
※解説の中には、現在実装中のメソッドも含みます
マスタ設定 †
FilepathDocを参照して、転送先マスタを設定
- KarteCommonToolを用いた方法で実装済みなので、とりあえず説明は割愛
ただし、基本は通常オーダ系と同じで、記録系は常にオーダ単位で処理が発生するが、通常オーダ系では、編集中のオーダ全てを処理するかの違いがあるだけです(たぶん)
っていうか、記録系を解読しながら書いてるので、ほとんど同じなのは当たり前...
通常オーダ系 †
- ジャーナルへ保存(OI_Save等でのジャーナル保存時)
- オーダNo未確定の場合は、OrderJournalDB.GetOrderNoList?よりオーダNoを取得
- 転送したいファイルを指定フォルダにコピー
- PkBase.ForwardFileTool.GetForwardFilePathによりパスを取得
ジャーナル保存時はForwardFilePathType:New
⇒伝票行のOrderBase.OrFilePathにセット
- PkBase.ForwardFileTool.GetForwardFileNameにより、フォルダ名を取得
ForwardFileFileKind:GlobalFileName
⇒伝票行のOrderBase.OrFileNameにセット
⇒転送ファイル名の基本部分になります
ファイル名の命名規則⇒OR_MAIN.PAGE_INFO
- 上記で取得したものを繋げたフォルダ名をコピー先に指定してフォルダコピー
⇒PkBase.ForwardFileTool.CopyDirectory
※転送処理は、フォルダ単位で行われるため、その中のファイルの命名に関しては各々が判別できるように自由で
⇒カルテ参照や、レポート参照でも使用するため、ファイル名も規則に従って作成する必要があります
- PkBase.ForwardFileTool.FileToServer(下記の処理が自動で行われます)
zipFlg:trueで、ZIPに圧縮
⇒他と動作を合わせるため、ジャーナルおよび、発行用データはZIP圧縮します
- ジャーナル用フォルダに転送
- 渡したOrderBaseのOrFilePath/OrFileNameが転送先情報に書き換わります
- New内の転送元データをフォルダごと削除
⇒PkBase.ForwardFileTool.DeleteFolder
- ジャーナルからの読み込み
- ジャーナルからオーダデータ読み込み時に、編集用にローカルにデータをコピー
⇒PkBase.ForwardFileTool.FileFromArchive
OrderBase:orderBase
destPath:WORK用パス
ForwardFileKind:AllComplete
⇒PkBase.ForwardFileTool.CopyDirectory
※コピー元:OrderBase.OrFilePath + OrderBase.OrFileName
コピー先:WORK用
- 発行(ここは、アプリからの制御)
- ファイル転送対象オーダチェック
- 文書系:ForwardFileGroup.Doc
- 記録系:ForwardFileGroup.Karte
- 上記2つとも:ForwardFileGroup.All
⇒画像検査ならカルテと同じ転送モードってことにするか?
- 対象オーダがあれば、ForwardFileTool.Execute実行⇒下記の処理が流れます
- 転送対象オーダ情報取得
- カルテ参照転送/アーカイブ転送は、どっかの設定から
⇒AppXmlProf.Instance.GetForwardFileConfig()._forwardKind
- BUMON_DENSO_FLG_05⇒「転送中」に