feat: レビュー指摘対応

This commit is contained in:
高木要 2023-07-19 09:37:20 +09:00
parent e7c78ec8ae
commit 84053eebf5
5 changed files with 20 additions and 15 deletions

View File

@ -136,12 +136,22 @@ async def inst_emp_csv_upload(
raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail=constants.LOGOUT_REASON_BACKUP_PROCESSING)
# 画面表示用のモデル
csv_buf = await csv_upload_form.csv_file.read()
mainte_csv_up = master_mainte_service.prepare_mainte_csv_up_view(
TextIOWrapper(BytesIO(csv_buf), encoding='utf-8'),
len(csv_buf),
csv_upload_form.csv_file.filename,
csv_upload_form)
csv_upload_form.csv_file.file.seek(0, 2)
if csv_upload_form.csv_file.file.tell() >= constants.MENTE_CSV_UPLOAD_MAX_FILE_SIZE_BYTE:
error_message_list = []
error_message_list.append('選択されたCSVファイルサイズが大きいです。100MB未満にしてください。')
mainte_csv_up = InstEmpCsvUploadViewModel(
is_verified=True,
error_message_list=error_message_list,
select_function=csv_upload_form.select_function,
select_table=csv_upload_form.select_table
)
else:
csv_upload_form.csv_file.file.seek(0)
mainte_csv_up = master_mainte_service.prepare_mainte_csv_up_view(
TextIOWrapper(BytesIO(await csv_upload_form.csv_file.read()), encoding='utf-8'),
csv_upload_form.csv_file.filename,
csv_upload_form)
# セッション書き換え
session.update(
actions=[

View File

@ -188,13 +188,11 @@ class EmpChgInstRepository(BaseRepository):
def fetch_as_data_frame(self, table_name: str, parameter: MasterMainteCsvDlModel):
try:
self._database.connect()
logger.debug('DB参照実行')
where_clause = self.__build_condition(parameter)
query = self.FETCH_SQL.format(table_name=table_name, where_clause=where_clause)
logger.debug(f'SQL: {query}')
df = self._to_data_frame(query, parameter)
logger.debug(f'count= {len(df.index)}')
# ログ出力のため、クエリも返却
return df
except Exception as e:
logger.exception(f"DB Error : Exception={e.args}")

View File

@ -59,7 +59,6 @@ class MasterMainteService(BaseService):
def prepare_mainte_csv_up_view(self,
file: TextIOWrapper,
file_size: int,
csv_file_name: str,
csv_upload_form: MasterMainteCsvUpModel) -> InstEmpCsvUploadViewModel:
@ -84,8 +83,6 @@ class MasterMainteService(BaseService):
# CSVファイル0件(ヘッダ行のみ)チェック
if len(csv_items.lines) == 0:
error_message_list.append('選択されたExcelファイルの2行目以降に値が記入されておりません。')
elif file_size >= constants.MENTE_CSV_UPLOAD_MAX_FILE_SIZE:
error_message_list.append('選択されたCSVファイルサイズが大きいです。100MB未満にしてください。')
else:
for row_item in csv_items:
error_message_list.extend([data for data in row_item.validate()])
@ -136,7 +133,7 @@ class MasterMainteService(BaseService):
(result_message_list, raw_error_list) = emp_chg_inst.save()
error_message_list = []
error_message_list.extend([data for data in raw_error_list])
error_message_list.extend(raw_error_list)
mainte_csv_up = InstEmpCsvUploadViewModel(
is_insert=True,

View File

@ -250,4 +250,5 @@ MENTE_CSV_DOWNLOAD_HEADER = [
MENTE_CSV_DOWNLOAD_FILE_NAME = 'instEmpData.csv'
MENTE_CSV_UPLOAD_MAX_FILE_SIZE = 104857600
# CSVアップロードの制限サイズ100MB
MENTE_CSV_UPLOAD_MAX_FILE_SIZE_BYTE = 104857600

View File

@ -8,13 +8,12 @@
<link href="/static/css/masterMainte.css" rel="stylesheet" />
<script type="text/javascript">
controlCount = 12; // 検索フォームの入力ボックスの数
window.onload = function(){
// ボタン、テキストボックス初期化
formBtDisabled();
// DatePickerを有効化
enableDatePicker();
{% if mainte_csv_dl.is_search and mainte_csv_dl.data_count > 0 and mainte_csv_dl.is_download_file_url_empty() == False %}
{% if mainte_csv_dl.is_search and mainte_csv_dl.data_count > 0 and mainte_csv_dl.is_download_file_url_empty() is False %}
// CSV自動ダウンロード処理
var link_tag = document.createElement("a");
link_tag.Target="_blank";