@Component @Scope(value="prototype") public class ImportHelper extends Object
修飾子とタイプ | フィールドと説明 |
---|---|
protected Map<String,List<?>> |
dataCacheMap
ファイルデータリストキャッシュ用Map.
|
protected DateHelper |
dateHelper
DateHelper.
|
static String |
FIELD_KEY_INDEX
データMAPキー[行番号].
|
protected static Set<String> |
IGNORE_FIELDS
除外フィールドSet.
|
protected StorageFileHelper |
storageFileHelper
StorageFileHelper.
|
コンストラクタと説明 |
---|
ImportHelper() |
修飾子とタイプ | メソッドと説明 |
---|---|
protected String |
addTimestamp(String destFile)
ファイル名にTimestampを付与します.
|
void |
archiveFile(String destFile,
String archiveFile)
アーカイブ元のファイルを、指定パスにアーカイブし、ファイル名を指定のファイル名にリネームします.
|
List<Map<String,Object>> |
byteToMap(byte[] data,
jp.co.slcs.kaiden.v2.base.foundation.model.xml_schema.generic_import_settings.GenericImportSettings.Settings settings,
List<String> fieldsDef)
byteデータをMapに詰替.
|
String |
changeCharToString(String target)
対象文字列の1文字目をCharacter型で受けたのちにString型にして返却.
|
protected <DTO> List<DTO> |
excludeAnotherCompany(Class<?> clazz,
List<DTO> dtoList,
String cmpCd)
処理対象会社コードと一致しない会社コードのデータを除外します.
|
protected List<Map<String,Object>> |
excludeAnotherCompanyFromMap(List<Map<String,Object>> mapList,
String cmpCd)
処理対象会社コードと一致しない会社コードのデータを除外します.
|
void |
initCache()
キャッシュを初期化します.
|
List<Map<String,Object>> |
loadSimpleFileToMap(jp.co.slcs.kaiden.v2.base.foundation.model.xml_schema.generic_import_settings.GenericImportSettings.Settings settings,
String filePath,
List<jp.co.slcs.kaiden.v2.base.foundation.model.xml_schema.generic_import_settings.GenericImportSettings.Order> orders,
List<String> fieldsDef)
ファイルをロードし、Mapリストに格納して返却.
|
void |
removeFile(String fileName)
指定ファイルパスのファイルを削除します.
|
void |
removeFile(String dirPath,
String fileName)
指定ファイルパスのファイルを削除します.
|
void |
sortDataList(List<?> dataList,
List<jp.co.slcs.kaiden.v2.base.foundation.model.xml_schema.generic_import_settings.GenericImportSettings.Order> orders)
リストをソートします.
|
protected String[] |
spilitLienData4Fromat(String lineData,
String delimiter,
String enclosing)
行データを、指定の区切り文字、囲み文字で区切り、区切った単位の文字列配列を返却.
|
String[] |
splitColumnData(String lineData,
String delimiter,
String enclosing)
CSVファイルなどの処理用に、行データを区切り文字、囲み文字に従い分割.
|
@Autowired protected StorageFileHelper storageFileHelper
@Autowired protected DateHelper dateHelper
public void initCache()
public List<Map<String,Object>> loadSimpleFileToMap(jp.co.slcs.kaiden.v2.base.foundation.model.xml_schema.generic_import_settings.GenericImportSettings.Settings settings, String filePath, List<jp.co.slcs.kaiden.v2.base.foundation.model.xml_schema.generic_import_settings.GenericImportSettings.Order> orders, List<String> fieldsDef)
Settingsに設定さらた条件でファイル検索し、見つかったファイルをMAPにロードして返却します。
ファイルの項目順は フィールドキーリストを利用します。
settings
- ファイル操作情報エンティティfilePath
- ファイルパスorders
- ソート順fieldsDef
- フィールドキーリストpublic List<Map<String,Object>> byteToMap(byte[] data, jp.co.slcs.kaiden.v2.base.foundation.model.xml_schema.generic_import_settings.GenericImportSettings.Settings settings, List<String> fieldsDef)
data
- byteデータsettings
- Import設定fieldsDef
- フィールドキーリストprotected List<Map<String,Object>> excludeAnotherCompanyFromMap(List<Map<String,Object>> mapList, String cmpCd)
但し、処理対象のMAPに、[companyCd
]に一致するフィールドが存在しない場合、除外処理を行いません。
mapList
- 処理対象データリストcmpCd
- 会社コードpublic void sortDataList(List<?> dataList, List<jp.co.slcs.kaiden.v2.base.foundation.model.xml_schema.generic_import_settings.GenericImportSettings.Order> orders)
dataList
- 対象リストorders
- ソート条件リストpublic String changeCharToString(String target)
対象文字列が空の場合は空文字を返却する。
対象文字列が下記に該当する場合は個別に置換します。
「\\t」 -> 「\t」 (タブ)
target
- 対象文字列public String[] splitColumnData(String lineData, String delimiter, String enclosing)
区切り文字毎にデータを分割します。
囲み文字で囲まれている場合には除去します。
囲み文字内の囲み文字のエスケープを解除します。※"aaa""bbb" →aaa"bbb
※囲み文字指定されない場合はエスケープ解除しません。
lineData
- 1行データdelimiter
- 区切り文字 指定されない場合は1行データを返却します(区切り文字は考慮されます)enclosing
- 囲み文字 指定されない場合はエスケープ解除しませんprotected String[] spilitLienData4Fromat(String lineData, String delimiter, String enclosing)
lineData
- 1行データdelimiter
- 区切り文字 指定されない場合は1行データを返却します(区切り文字は考慮されます)enclosing
- 囲み文字 指定されない場合はエスケープ解除しませんprotected <DTO> List<DTO> excludeAnotherCompany(Class<?> clazz, List<DTO> dtoList, String cmpCd)
但し、処理対象のDTOに、[companyCd
]に一致するフィールドが存在しない場合、除外処理を行いません。
DTO
- DTOのクラスの型clazz
- DTOのクラスdtoList
- 処理対象データリストcmpCd
- 会社コードpublic void archiveFile(String destFile, String archiveFile)
destFile
- アーカイブ元ファイル名(パス含む)archiveFile
- 退避ファイル名(パス含む)protected String addTimestamp(String destFile)
destFileに"file.file{YMDHMSN}.csv"と指定した場合
[file.file_yyyyMMddhhmmss.csv]となります。
destFile
- 付与元ファイル名public void removeFile(String fileName)
fileName
- ファイル名(ファイルパス含む)Copyright © 2024 Sumitomo Life Information Systems Co., Ltd. All Rights Reserved.