From d615b3bca2177cf1ba3194eb8a55d1354984ec8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=8E=E9=96=93?= Date: Tue, 18 Jul 2023 11:37:22 +0900 Subject: [PATCH 01/15] =?UTF-8?q?=E4=BB=AE=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/controller/bio_download.py | 24 +--- .../src/model/db/bio_sales_view.py | 110 +++++++++++++----- .../src/model/view/bio_disp_model.py | 6 - .../src/model/view/bio_view_model.py | 11 ++ .../repositories/bio_sales_view_repository.py | 75 ++++++++---- .../src/services/bio_view_service.py | 3 + ecs/jskult-webapp/src/system_var/constants.py | 6 +- .../src/templates/bioSearchList.html | 57 ++++----- 8 files changed, 182 insertions(+), 110 deletions(-) diff --git a/ecs/jskult-webapp/src/controller/bio_download.py b/ecs/jskult-webapp/src/controller/bio_download.py index 8ff711c8..61d326b4 100644 --- a/ecs/jskult-webapp/src/controller/bio_download.py +++ b/ecs/jskult-webapp/src/controller/bio_download.py @@ -61,8 +61,7 @@ async def download_bio_data( return {'status': 'ok', 'download_url': None} # ファイルに打ち出すカラムを抽出 - # TODO: SQLクエリを修正するため、この処理は不要になる - extract_df = _extract_output_df(search_result_df) + extract_df = search_result_df[constants.BIO_EXTRACT_COLUMNS] # ファイルを書き出し(Excel or CSV) local_file_path = _write_bio_data_to_file(bio_service, download_param, extract_df, download_file_name) @@ -116,27 +115,6 @@ def _search_bio_data(bio_service: BioViewService, search_param: BioModel, user_i return search_result_df, query -def _extract_output_df(search_result_df: pd.DataFrame) -> pd.DataFrame: - extract_df = search_result_df[constants.BIO_EXTRACT_COLUMNS] - - # 値を変換 - # データ種別の正式名を設定 - extract_df.loc[:, 'slip_org_kbn'] = extract_df['slip_org_kbn'].apply( - lambda key: constants.SLIP_ORG_KBN_FULL_NAME.get(key)) - # データ区分の区分の日本語名を設定 - extract_df.loc[:, 'data_kbn'] = extract_df['data_kbn'].apply(lambda key: constants.DATA_KBN_JP_NAME.get(key)) - # ロット番号エラーフラグの日本語名を設定 - extract_df.loc[:, 'lot_num_err_flg'] = extract_df['lot_num_err_flg'].apply( - lambda key: constants.LOT_NO_ERR_FLG_JP_NAME.get(key)) - # 訂正前伝票管理番号がセットされているときのみ修正日時、修正者、エラー詳細種別をセット - extract_df.loc[:, 'ins_dt'] = extract_df['bef_slip_mgt_num'].apply( - lambda bef_slip_mgt_num: extract_df['ins_dt'] if bef_slip_mgt_num is not None else '') - extract_df.loc[:, 'ins_usr'] = extract_df['bef_slip_mgt_num'].apply( - lambda bef_slip_mgt_num: extract_df['ins_usr'] if bef_slip_mgt_num is not None else '') - - return extract_df - - def _write_bio_data_to_file( bio_service: BioViewService, download_param: BioDownloadModel, diff --git a/ecs/jskult-webapp/src/model/db/bio_sales_view.py b/ecs/jskult-webapp/src/model/db/bio_sales_view.py index 325ccbbc..8b28f225 100644 --- a/ecs/jskult-webapp/src/model/db/bio_sales_view.py +++ b/ecs/jskult-webapp/src/model/db/bio_sales_view.py @@ -5,70 +5,120 @@ from src.model.db.base_db_model import BaseDBModel class BioSalesViewModel(BaseDBModel): - conv_cd: Optional[int] - rec_data: Optional[str] + # conv_cd: Optional[int] + # rec_data: Optional[str] + # rec_whs_cd: Optional[str] + # rec_whs_sub_cd: Optional[str] + # rec_whs_org_cd: Optional[str] + # rec_cust_cd: Optional[str] + # rec_comm_cd: Optional[str] + # rec_tran_kbn: Optional[str] + # rev_hsdnymd_wrk: Optional[str] + # rev_hsdnymd_srk: Optional[str] + # rec_urag_num: Optional[str] + # rec_comm_name: Optional[str] + # rec_nonyu_fcl_name: Optional[str] + # rec_nonyu_fcl_addr: Optional[str] + # rec_lot_num: Optional[str] + # qty: Optional[str] + # rec_ymd: Optional[str] + # sale_data_cat: Optional[str] + # slip_file_name: Optional[str] + # slip_mgt_num: Optional[str] + # row_num: Optional[int] + # hsdn_ymd: Optional[str] + # exec_dt: Optional[str] + # v_tran_cd: Optional[int] + # tran_kbn_name: Optional[str] + # whs_org_cd: Optional[str] + # v_whsorg_cd: Optional[str] + # whs_org_name: Optional[str] + # whs_org_kn: Optional[str] + # v_whs_cd: Optional[int] + # whs_name: Optional[str] + # nonyu_fcl_cd: Optional[str] + # v_inst_cd: Optional[str] + # v_inst_kn: Optional[str] + # v_inst_nm: Optional[str] + # v_inst_addr: Optional[str] + # comm_cd: Optional[str] + # product_name: Optional[str] + # whs_rep_comm_name: Optional[str] + # whs_rep_nonyu_fcl_name: Optional[str] + # whs_rep_nonyu_fcl_addr: Optional[str] + # mkr_inf_1: Optional[str] + # mkr_cd: Optional[str] + # htdnymd_err_kbn: Optional[str] + # prd_exis_kbn: Optional[str] + # fcl_exis_kbn: Optional[str] + # amt: Optional[int] + # slip_org_kbn: Optional[str] + # bef_slip_mgt_num: Optional[str] + # lot_no_err_flg: Optional[str] + # iko_flg: Optional[str] + # kjyo_ym: Optional[str] + # tksnbk_kbn: Optional[str] + # fcl_exec_kbn: Optional[str] + # rec_sts_kbn: Optional[str] + # ins_dt: Optional[datetime] + # ins_usr: Optional[str] + # dcf_inst_cd: Optional[str] + # inst_cd: Optional[str] + # inst_name_form: Optional[str] + # address: Optional[str] + # tel_num: Optional[str] + # data_kbn: Optional[str] + # ser_no: Optional[str] + # lot_num: Optional[str] + # expr_dt: Optional[date] + # amt_fugo: Optional[str] + slip_mgt_num: Optional[str] + conv_cdR: Optional[int] rec_whs_cd: Optional[str] rec_whs_sub_cd: Optional[str] rec_whs_org_cd: Optional[str] - rec_cust_cd: Optional[str] rec_comm_cd: Optional[str] rec_tran_kbn: Optional[str] - rev_hsdnymd_wrk: Optional[str] rev_hsdnymd_srk: Optional[str] rec_urag_num: Optional[str] rec_comm_name: Optional[str] rec_nonyu_fcl_name: Optional[str] rec_nonyu_fcl_addr: Optional[str] rec_lot_num: Optional[str] - rec_qty: Optional[str] rec_ymd: Optional[str] - sale_data_cat: Optional[str] - slip_file_name: Optional[str] - slip_mgt_num: Optional[str] - row_num: Optional[int] - hsdn_ymd: Optional[str] - exec_dt: Optional[str] v_tran_cd: Optional[int] tran_kbn_name: Optional[str] whs_org_cd: Optional[str] - v_whsorg_cd: Optional[str] + v_whsorg_cd: Optional[int] whs_org_name: Optional[str] - whs_org_kn: Optional[str] v_whs_cd: Optional[int] whs_name: Optional[str] nonyu_fcl_cd: Optional[str] v_inst_cd: Optional[str] v_inst_kn: Optional[str] - v_inst_nm: Optional[str] + v_inst_name: Optional[str] v_inst_addr: Optional[str] comm_cd: Optional[str] product_name: Optional[str] - whs_rep_comm_nm: Optional[str] - whs_rep_nnskfcl_nm: Optional[str] - whs_rep_nnsk_fcl_addr: Optional[str] + whs_rep_comm_name: Optional[str] + whs_rep_nonyu_fcl_name: Optional[str] + whs_rep_nonyu_fcl_addr: Optional[str] mkr_inf_1: Optional[str] mkr_cd: Optional[str] - htdnymd_err_kbn: Optional[str] - prd_exis_kbn: Optional[str] - fcl_exis_kbn: Optional[str] - amt: Optional[int] + qty: Optional[int] slip_org_kbn: Optional[str] bef_slip_mgt_num: Optional[str] lot_no_err_flg: Optional[str] iko_flg: Optional[str] - kjyo_ym: Optional[str] - tksnbk_kbn: Optional[str] - fcl_exec_kbn: Optional[str] rec_sts_kbn: Optional[str] - ins_dt: Optional[datetime] + ins_dt: Optional[str] ins_usr: Optional[str] - dcf_inst_cd: Optional[str] + dwh_upd_dt: Optional[datetime] inst_cd: Optional[str] inst_name_form: Optional[str] address: Optional[str] - tel_no: Optional[str] + tel_num: Optional[str] data_kbn: Optional[str] - ser_no: Optional[str] - lot_num: Optional[str] + data_kind: Optional[str] + err_dtl_kind: Optional[str] expr_dt: Optional[date] - amt_fugo: Optional[str] diff --git a/ecs/jskult-webapp/src/model/view/bio_disp_model.py b/ecs/jskult-webapp/src/model/view/bio_disp_model.py index e78d4f29..2ebf2c00 100644 --- a/ecs/jskult-webapp/src/model/view/bio_disp_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_disp_model.py @@ -1,5 +1,4 @@ from src.model.db.bio_sales_view import BioSalesViewModel -from src.system_var import constants from src.util.sanitize import sanitize @@ -8,11 +7,6 @@ class BisDisplayModel(BioSalesViewModel): def __init__(self, param: BioSalesViewModel) -> None: super().__init__(**param.dict()) - # 区分・フラグの正式名称を設定 - self.slip_org_kbn = constants.SLIP_ORG_KBN_FULL_NAME.get(self.slip_org_kbn) - self.data_kbn = constants.DATA_KBN_JP_NAME.get(self.data_kbn) - self.lot_no_err_flg = constants.LOT_NO_ERR_FLG_JP_NAME.get(self.lot_no_err_flg) - # 訂正前伝票管理番号がセットされているときのみ修正日時、修正者、エラー詳細種別をセット if (self.bef_slip_mgt_num is None): self.ins_dt = "" diff --git a/ecs/jskult-webapp/src/model/view/bio_view_model.py b/ecs/jskult-webapp/src/model/view/bio_view_model.py index 8f5e4875..1cd4f4a1 100644 --- a/ecs/jskult-webapp/src/model/view/bio_view_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_view_model.py @@ -55,6 +55,17 @@ class BioViewModel(BaseModel): return obj.isoformat() if hasattr(obj, 'isoformat') else obj return json.dumps([model.dict() for model in self.bio_data], ensure_ascii=False, default=date_handler) + def make_whs_name(self): + if not self.is_form_submitted(): + return '' + if self.form_data.rec_whs_cd is None: + return '' + + form_wholesaler_full_name = \ + f'{self.form_data.rec_whs_cd}-{self.form_data.rec_whs_sub_cd}:{self.form_data.whs_name}' + + return form_wholesaler_full_name + def is_selected_whs_name(self, selected_wholesaler): if not self.is_form_submitted(): return '' diff --git a/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py b/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py index 46eb2b91..0b3a52a5 100644 --- a/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py +++ b/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py @@ -12,30 +12,65 @@ logger = get_logger('生物由来参照') class BioSalesViewRepository(BaseRepository): FETCH_SQL = """\ SELECT - ( - CASE - WHEN LEFT(bs.v_tran_cd, 1) = 2 - AND bs.qty >= 1 THEN CONCAT('-', bs.qty) - ELSE bs.qty - END - ) AS amt_fugo, - bs.*, - ln.ser_num, - ln.lot_num, - ln.expr_dt + slip_mgt_num, + conv_cd, + rec_whs_cd, + rec_whs_sub_cd, + rec_whs_org_cd, + rec_comm_cd, + rec_tran_kbn, + rev_hsdnymd_srk, + rec_urag_num, + rec_comm_name, + rec_nonyu_fcl_name, + rec_nonyu_fcl_addr, + rec_lot_num, + rec_ymd, + v_tran_cd, + tran_kbn_name, + whs_org_cd, + v_whsorg_cd, + whs_org_name, + v_whs_cd, + whs_name, + nonyu_fcl_cd, + v_inst_cd, + v_inst_kn, + v_inst_name, + v_inst_addr, + comm_cd, + product_name, + whs_rep_comm_name, + whs_rep_nonyu_fcl_name, + whs_rep_nonyu_fcl_addr, + mkr_inf_1, + mkr_cd, + qty, + slip_org_kbn, + bef_slip_mgt_num, + lot_no_err_flg, + iko_flg, + rec_sts_kbn, + ins_dt, + ins_usr, + dwh_upd_dt, + inst_cd, + inst_name_form, + address, + tel_num, + data_kbn, + data_kind, + err_dtl_kind, + expr_dt FROM - src05.bio_sales_view bs - LEFT OUTER JOIN - src05.lot_num_mst ln - ON bs.mkr_cd = ln.ser_num - AND bs.rec_lot_num = ln.lot_num + src05.bio_sales_lot WHERE {where_clause} ORDER BY - bs.rec_whs_cd, - bs.rec_whs_sub_cd, - bs.rev_hsdnymd_srk, - bs.slip_mgt_num + rec_whs_cd, + rec_whs_sub_cd, + rev_hsdnymd_srk, + slip_mgt_num ASC\ """ diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index d1102598..73cc06f5 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -119,6 +119,9 @@ class BioViewService(BaseService): logger.info(parameter_message) access_logger.info(parameter_message) + # ログファイルクローズ + access_log_handler.close() + # S3にアップロード self.upload_bio_access_log_file(access_log_file_path) diff --git a/ecs/jskult-webapp/src/system_var/constants.py b/ecs/jskult-webapp/src/system_var/constants.py index 064d135b..184a3eb9 100644 --- a/ecs/jskult-webapp/src/system_var/constants.py +++ b/ecs/jskult-webapp/src/system_var/constants.py @@ -9,7 +9,7 @@ BIO_TEMPORARY_FILE_DIR_PATH = path.join(path.curdir, 'src', 'data') BIO_EXCEL_TEMPLATE_FILE_PATH = path.join(BIO_TEMPORARY_FILE_DIR_PATH, 'BioData_template.xlsx') BIO_EXTRACT_COLUMNS = [ - 'slip_org_kbn', + 'data_kind', 'slip_mgt_num', 'rec_ymd', 'rec_whs_cd', @@ -30,10 +30,10 @@ BIO_EXTRACT_COLUMNS = [ 'rec_nonyu_fcl_addr', 'whs_rep_nonyu_fcl_addr', 'rec_lot_num', - 'amt_fugo', + 'qty', 'expr_dt', 'data_kbn', - 'lot_num_err_flg', + 'err_dtl_kind', 'bef_slip_mgt_num', 'ins_usr', 'ins_dt', diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index ae7a3d7c..89436d67 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -6,15 +6,15 @@ {% endwith %} - @@ -55,13 +55,11 @@ @@ -96,16 +94,14 @@ 発伝年月日: - ~ - @@ -186,6 +182,18 @@ {% endif %} +
+ + + + + + + + + + +
+ + \ No newline at end of file diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index 89436d67..7d07a22b 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -13,7 +13,8 @@ // ボタン、テキストボックス初期化 formBtDisabled(); // DatePickerを有効化 - enableDatePicker(); + setDatePicker(); + }); @@ -55,11 +56,13 @@ @@ -97,11 +100,13 @@ @@ -342,6 +347,7 @@ ` }) } + From 87e45dca665c994f9365bffcca871a1c4288455b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=8E=E9=96=93?= Date: Wed, 19 Jul 2023 13:27:34 +0900 Subject: [PATCH 03/15] =?UTF-8?q?DatePicker=E3=81=A8=E6=88=A6=E3=81=84?= =?UTF-8?q?=E6=8A=9C=E3=81=84=E3=81=9F=E7=B5=90=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/controller/bio_download.py | 4 +- .../src/model/db/bio_sales_view.py | 4 +- .../src/model/view/bio_disp_model.py | 11 +-- .../src/model/view/bio_view_model.py | 2 +- .../repositories/bio_sales_view_repository.py | 21 +---- .../src/services/bio_view_service.py | 6 +- .../static/function/businessLogicScript.js | 85 +++++++++---------- ecs/jskult-webapp/src/templates/_header.html | 2 - .../src/templates/bioSearchList.html | 7 +- 9 files changed, 58 insertions(+), 84 deletions(-) diff --git a/ecs/jskult-webapp/src/controller/bio_download.py b/ecs/jskult-webapp/src/controller/bio_download.py index 61d326b4..d02a709e 100644 --- a/ecs/jskult-webapp/src/controller/bio_download.py +++ b/ecs/jskult-webapp/src/controller/bio_download.py @@ -61,10 +61,10 @@ async def download_bio_data( return {'status': 'ok', 'download_url': None} # ファイルに打ち出すカラムを抽出 - extract_df = search_result_df[constants.BIO_EXTRACT_COLUMNS] + # extract_df = search_result_df[constants.BIO_EXTRACT_COLUMNS] # ファイルを書き出し(Excel or CSV) - local_file_path = _write_bio_data_to_file(bio_service, download_param, extract_df, download_file_name) + local_file_path = _write_bio_data_to_file(bio_service, download_param, search_result_df, download_file_name) # ローカルファイルからS3にアップロードし、ダウンロード用URLを取得する try: diff --git a/ecs/jskult-webapp/src/model/db/bio_sales_view.py b/ecs/jskult-webapp/src/model/db/bio_sales_view.py index 59192b86..78297aa4 100644 --- a/ecs/jskult-webapp/src/model/db/bio_sales_view.py +++ b/ecs/jskult-webapp/src/model/db/bio_sales_view.py @@ -4,9 +4,9 @@ from typing import Optional from src.model.db.base_db_model import BaseDBModel -class BioSalesViewModel(BaseDBModel): +class BioSalesLotDBModel(BaseDBModel): slip_mgt_num: Optional[str] - conv_cdR: Optional[int] + conv_cd: Optional[int] rec_whs_cd: Optional[str] rec_whs_sub_cd: Optional[str] rec_whs_org_cd: Optional[str] diff --git a/ecs/jskult-webapp/src/model/view/bio_disp_model.py b/ecs/jskult-webapp/src/model/view/bio_disp_model.py index 2ebf2c00..851dc6a9 100644 --- a/ecs/jskult-webapp/src/model/view/bio_disp_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_disp_model.py @@ -1,13 +1,8 @@ -from src.model.db.bio_sales_view import BioSalesViewModel +from src.model.db.bio_sales_view import BioSalesLotDBModel from src.util.sanitize import sanitize @sanitize -class BisDisplayModel(BioSalesViewModel): - def __init__(self, param: BioSalesViewModel) -> None: +class BisDisplayModel(BioSalesLotDBModel): + def __init__(self, param: BioSalesLotDBModel) -> None: super().__init__(**param.dict()) - - # 訂正前伝票管理番号がセットされているときのみ修正日時、修正者、エラー詳細種別をセット - if (self.bef_slip_mgt_num is None): - self.ins_dt = "" - self.ins_usr = "" diff --git a/ecs/jskult-webapp/src/model/view/bio_view_model.py b/ecs/jskult-webapp/src/model/view/bio_view_model.py index 1cd4f4a1..27f1f851 100644 --- a/ecs/jskult-webapp/src/model/view/bio_view_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_view_model.py @@ -23,7 +23,7 @@ class BioViewModel(BaseModel): def display_wholesaler_names(self): display_names = [ - f'{whs_model.rec_whs_cd}-{whs_model.rec_whs_sub_cd}:{whs_model.name}' + f'{whs_model.rec_whs_cd}-{whs_model.rec_whs_sub_cd}:{whs_model.name or ""}' for whs_model in self.whs_models ] return display_names diff --git a/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py b/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py index 0b3a52a5..395fe2cb 100644 --- a/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py +++ b/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py @@ -1,7 +1,7 @@ from src.db import sql_condition as condition from src.db.sql_condition import SQLCondition from src.logging.get_logger import get_logger -from src.model.db.bio_sales_view import BioSalesViewModel +from src.model.db.bio_sales_view import BioSalesLotDBModel from src.model.request.bio import BioModel from src.repositories.base_repository import BaseRepository from src.util.string_util import is_not_empty @@ -9,11 +9,10 @@ from src.util.string_util import is_not_empty logger = get_logger('生物由来参照') -class BioSalesViewRepository(BaseRepository): +class BioSalesLotRepository(BaseRepository): FETCH_SQL = """\ SELECT slip_mgt_num, - conv_cd, rec_whs_cd, rec_whs_sub_cd, rec_whs_org_cd, @@ -21,40 +20,28 @@ class BioSalesViewRepository(BaseRepository): rec_tran_kbn, rev_hsdnymd_srk, rec_urag_num, - rec_comm_name, rec_nonyu_fcl_name, rec_nonyu_fcl_addr, rec_lot_num, rec_ymd, v_tran_cd, tran_kbn_name, - whs_org_cd, v_whsorg_cd, whs_org_name, v_whs_cd, whs_name, nonyu_fcl_cd, v_inst_cd, - v_inst_kn, - v_inst_name, - v_inst_addr, - comm_cd, product_name, whs_rep_comm_name, whs_rep_nonyu_fcl_name, whs_rep_nonyu_fcl_addr, - mkr_inf_1, mkr_cd, qty, - slip_org_kbn, bef_slip_mgt_num, - lot_no_err_flg, iko_flg, - rec_sts_kbn, ins_dt, ins_usr, - dwh_upd_dt, - inst_cd, inst_name_form, address, tel_num, @@ -74,7 +61,7 @@ class BioSalesViewRepository(BaseRepository): ASC\ """ - def fetch_many(self, parameter: BioModel) -> list[BioSalesViewModel]: + def fetch_many(self, parameter: BioModel) -> list[BioSalesLotDBModel]: try: self._database.connect() logger.debug('DB参照実行') @@ -83,7 +70,7 @@ class BioSalesViewRepository(BaseRepository): logger.debug(f'SQL: {query}') result = self._database.execute_select(query, parameter.dict()) logger.debug(f'count= {len(result)}') - models = [BioSalesViewModel(**r) for r in result] + models = [BioSalesLotDBModel(**r) for r in result] return models except Exception as e: logger.exception(f"DB Error : Exception={e.args}") diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index 73cc06f5..42885c83 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -12,7 +12,7 @@ from src.model.request.bio import BioModel from src.model.view.bio_disp_model import BisDisplayModel from src.model.view.bio_view_model import BioViewModel from src.repositories.base_repository import BaseRepository -from src.repositories.bio_sales_view_repository import BioSalesViewRepository +from src.repositories.bio_sales_view_repository import BioSalesLotRepository from src.repositories.pharmacy_product_master_repository import \ PharmacyProductMasterRepository from src.repositories.wholesaler_master_repository import \ @@ -27,7 +27,7 @@ class BioViewService(BaseService): REPOSITORIES = { 'whs_repository': WholesalerMasterRepository, 'phm_repository': PharmacyProductMasterRepository, - 'bio_sales_repository': BioSalesViewRepository + 'bio_sales_repository': BioSalesLotRepository } CLIENTS = { @@ -36,7 +36,7 @@ class BioViewService(BaseService): whs_repository: WholesalerMasterRepository phm_repository: PharmacyProductMasterRepository - bio_sales_repository: BioSalesViewRepository + bio_sales_repository: BioSalesLotRepository s3_client: S3Client def __init__(self, repositories: dict[str, BaseRepository], clients: dict[str, AWSAPIClient]) -> None: diff --git a/ecs/jskult-webapp/src/static/function/businessLogicScript.js b/ecs/jskult-webapp/src/static/function/businessLogicScript.js index 7447572e..2e5971ad 100644 --- a/ecs/jskult-webapp/src/static/function/businessLogicScript.js +++ b/ecs/jskult-webapp/src/static/function/businessLogicScript.js @@ -84,55 +84,54 @@ function selectDropDowList(id, selectedName){ function enableDatePicker() { // カレンダーの表示を日曜日始まりに変更 flatpickr.l10ns.ja.firstDayOfWeek = 0; - - $('.date_picker').flatpickr( - { + + $(".date_picker").each(function(i, elem) { + const date_picker_name = elem.name; + + flatpickr(elem, { locale: 'ja', // 日本語カレンダー allowInput: true, // 入力可能にする - dateFormat: 'Y/m/d' // 日付のフォーマットを修正 - } - ) -} + dateFormat: "YYYY/MM/DD", // 日付のフォーマット + onChange(_dates, currentDateString, _picker, _data) { + }, + parseDate: function(strFormat, format) { -function setDatePicker() { - // カレンダーの表示を日曜日始まりに変更 - flatpickr.l10ns.ja.firstDayOfWeek = 0; - - $(".date_picker").datepicker({ - locale: 'ja', - dateFormat: 'YYY/mm/dd' + // yyyyMMddの場合→yyyy/MM/dd + const datePatternMatches = strFormat.match(/^(\d{4})(\d{2})(\d{2})$/); + if (datePatternMatches){ + strFormat = `${datePatternMatches[1]}/${datePatternMatches[2]}/${datePatternMatches[3]}`; + } + + // yyyy/00/00~yyyy/00/00の場合→yyyy/01/01~yyyy/12/31 + // yyyy/MM/00~yyyy/MM/01の場合→yyyy/MM/01~yyyy/MM/末日 + // 開始日の場合 + if (date_picker_name.includes('from')){ + strFormat = strFormat.replace("/00/00", "/01/01"); + strFormat = strFormat.replace("/00", "/01"); + } + // 終了日の場合 + else if (date_picker_name.includes('to')){ + strFormat = strFormat.replace("/00/00", "/12/31"); + const date = new Date(strFormat.slice(0, 4), strFormat.slice(5, 7), 0).getDate(); + strFormat = strFormat.replace("/00", "/"+date.toString()); + } + return new Date(strFormat); + }, + formatDate: (date, format) => { + // 日付の整合性チェック、不正の場合は空表示 + if(isNaN(date.getDate())){ + return; + } + + // フォーマットを設定 + const formatted = flatpickr.formatDate(date,'Y/m/d'); + return formatted; + + } + }) }); - } -// 日付入力チェック -// 引数:チェックするテキストボックスNo -function autoModifyDate($this){ - // 日付フォーマットチェック - let strFormat = $this.value; - // yyyyMMddの場合→yyyy/MM/dd - const datePatternMatches = strFormat.match(/^(\d{4})(\d{2})(\d{2})$/); - if (datePatternMatches){ - strFormat = `${datePatternMatches[1]}/${datePatternMatches[2]}/${datePatternMatches[3]}`; - } - // yyyy/00/00~yyyy/00/00の場合→yyyy/01/01~yyyy/12/31 - // yyyy/MM/00~yyyy/MM/01の場合→yyyy/MM/01~yyyy/MM/末日 - // 開始日の場合 - if ($this.name.includes('from')){ - strFormat = strFormat.replace("00/00", "01/01"); - strFormat = strFormat.replace("/00", "/01"); - } - // 終了日の場合 - else if ($this.name.includes('to')){ - strFormat = strFormat.replace("00/00", "12/31"); - const date = new Date(strFormat.slice(0, 4), strFormat.slice(5, 7), 0).getDate(); - strFormat = strFormat.replace("/00", "/"+date.toString()); - } - $this.value = strFormat; - return false; -} - - // 前のスペースを許さない入力チェック function checkSpaceForm($this) { diff --git a/ecs/jskult-webapp/src/templates/_header.html b/ecs/jskult-webapp/src/templates/_header.html index adfa228d..01a1521a 100644 --- a/ecs/jskult-webapp/src/templates/_header.html +++ b/ecs/jskult-webapp/src/templates/_header.html @@ -15,5 +15,3 @@ - - \ No newline at end of file diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index 7d07a22b..3a1fa7ab 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -13,8 +13,7 @@ // ボタン、テキストボックス初期化 formBtDisabled(); // DatePickerを有効化 - setDatePicker(); - + enableDatePicker(); }); @@ -56,13 +55,11 @@ @@ -100,13 +97,11 @@ From 7a15f4a2b910f1e673b409e92723f99fc6d84b13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=8E=E9=96=93?= Date: Wed, 19 Jul 2023 15:58:31 +0900 Subject: [PATCH 04/15] =?UTF-8?q?=E6=8C=87=E6=91=98=E4=BA=8B=E9=A0=85?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/controller/bio_download.py | 3 --- .../src/services/bio_view_service.py | 18 ++++++++++++------ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/ecs/jskult-webapp/src/controller/bio_download.py b/ecs/jskult-webapp/src/controller/bio_download.py index d02a709e..454ff857 100644 --- a/ecs/jskult-webapp/src/controller/bio_download.py +++ b/ecs/jskult-webapp/src/controller/bio_download.py @@ -60,9 +60,6 @@ async def download_bio_data( logger.info('検索結果が0件です') return {'status': 'ok', 'download_url': None} - # ファイルに打ち出すカラムを抽出 - # extract_df = search_result_df[constants.BIO_EXTRACT_COLUMNS] - # ファイルを書き出し(Excel or CSV) local_file_path = _write_bio_data_to_file(bio_service, download_param, search_result_df, download_file_name) diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index 42885c83..97f7f22b 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -162,8 +162,10 @@ class BioViewService(BaseService): def upload_bio_data_file(self, local_file_path: str) -> None: bucket_name = environment.BIO_ACCESS_LOG_BUCKET - # TODO: ファイルパスにYYYY/MM/DDを加える - file_key = f'data/{os.path.basename(local_file_path)}' + + dt_now = datetime.now() + ymd = f'{dt_now.year}/{dt_now.strftime("%m")}/{dt_now.strftime("%d")}' + file_key = f'data/{ymd}/{os.path.basename(local_file_path)}' self.s3_client.upload_file(local_file_path, bucket_name, file_key) # アップロード後、ローカルからは削除する @@ -171,8 +173,10 @@ class BioViewService(BaseService): def upload_bio_access_log_file(self, local_file_path: str) -> None: bucket_name = environment.BIO_ACCESS_LOG_BUCKET - # TODO: ファイルパスにYYYY/MM/DDを加える - file_key = f'log/{os.path.basename(local_file_path)}' + + dt_now = datetime.now() + ymd = f'{dt_now.year}/{dt_now.strftime("%m")}/{dt_now.strftime("%d")}' + file_key = f'log/{ymd}/{os.path.basename(local_file_path)}' self.s3_client.upload_file(local_file_path, bucket_name, file_key) # アップロード後、ローカルからは削除する @@ -180,8 +184,10 @@ class BioViewService(BaseService): def generate_download_file_url(self, local_file_path: str, user_id: str, kind: str) -> str: bucket_name = environment.BIO_ACCESS_LOG_BUCKET - # TODO: ファイルパスにYYYY/MM/DDを加える - file_key = f'data/{os.path.basename(local_file_path)}' + + dt_now = datetime.now() + ymd = f'{dt_now.year}/{dt_now.strftime("%m")}/{dt_now.strftime("%d")}' + file_key = f'data/{ymd}/{os.path.basename(local_file_path)}' download_filename = f'{user_id}_生物由来卸販売データ.{kind}' return self.s3_client.generate_presigned_url(bucket_name, file_key, download_filename) From 4cf9b028337e2172585031befaba3ce3676f0551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=8E=E9=96=93?= Date: Mon, 24 Jul 2023 16:56:12 +0900 Subject: [PATCH 05/15] =?UTF-8?q?=E5=8D=98=E4=BD=93=E8=A9=A6=E9=A8=93?= =?UTF-8?q?=E4=B8=8D=E5=85=B7=E5=90=88=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/model/db/bio_sales_view.py | 2 +- .../src/model/db/pharmacy_product_master.py | 1 + ecs/jskult-webapp/src/model/view/bio_view_model.py | 2 +- .../src/repositories/bio_sales_view_repository.py | 4 ++-- .../pharmacy_product_master_repository.py | 1 + ecs/jskult-webapp/src/services/bio_view_service.py | 2 +- ecs/jskult-webapp/src/system_var/constants.py | 2 +- ecs/jskult-webapp/src/templates/bioSearchList.html | 14 +++++++------- 8 files changed, 15 insertions(+), 13 deletions(-) diff --git a/ecs/jskult-webapp/src/model/db/bio_sales_view.py b/ecs/jskult-webapp/src/model/db/bio_sales_view.py index 78297aa4..ff62af4b 100644 --- a/ecs/jskult-webapp/src/model/db/bio_sales_view.py +++ b/ecs/jskult-webapp/src/model/db/bio_sales_view.py @@ -44,7 +44,7 @@ class BioSalesLotDBModel(BaseDBModel): lot_no_err_flg: Optional[str] iko_flg: Optional[str] rec_sts_kbn: Optional[str] - ins_dt: Optional[str] + ins_dt: Optional[datetime] ins_usr: Optional[str] dwh_upd_dt: Optional[datetime] inst_cd: Optional[str] diff --git a/ecs/jskult-webapp/src/model/db/pharmacy_product_master.py b/ecs/jskult-webapp/src/model/db/pharmacy_product_master.py index 2f498246..35181012 100644 --- a/ecs/jskult-webapp/src/model/db/pharmacy_product_master.py +++ b/ecs/jskult-webapp/src/model/db/pharmacy_product_master.py @@ -4,4 +4,5 @@ from src.model.db.base_db_model import BaseDBModel class PharmacyProductMasterModel(BaseDBModel): + mkr_cd: Optional[str] mkr_cd_name: Optional[str] diff --git a/ecs/jskult-webapp/src/model/view/bio_view_model.py b/ecs/jskult-webapp/src/model/view/bio_view_model.py index 27f1f851..57f49a15 100644 --- a/ecs/jskult-webapp/src/model/view/bio_view_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_view_model.py @@ -45,7 +45,7 @@ class BioViewModel(BaseModel): '0': '正常', '1': 'ロットエラー', '3': 'ロット不明', - '9': 'エラー(解消済)', + '9': 'エラー(解消済み)', '2': '除外' } ) diff --git a/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py b/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py index 395fe2cb..4eead447 100644 --- a/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py +++ b/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py @@ -31,7 +31,6 @@ class BioSalesLotRepository(BaseRepository): v_whs_cd, whs_name, nonyu_fcl_cd, - v_inst_cd, product_name, whs_rep_comm_name, whs_rep_nonyu_fcl_name, @@ -42,6 +41,7 @@ class BioSalesLotRepository(BaseRepository): iko_flg, ins_dt, ins_usr, + inst_cd, inst_name_form, address, tel_num, @@ -115,7 +115,7 @@ class BioSalesLotRepository(BaseRepository): if is_not_empty(parameter.rec_lot_num): rec_lot_num = parameter.rec_lot_num # あいまい検索文字列('%')が含まれる場合は'LIKE'、でなければ'='で検索 - rec_lot_num_comparator = condition.LIKE if rec_lot_num in '%' else condition.EQ + rec_lot_num_comparator = condition.LIKE if '%' in rec_lot_num else condition.EQ where_clauses.append(SQLCondition('rec_lot_num', rec_lot_num_comparator, 'rec_lot_num')) # データ区分 if is_not_empty(parameter.data_kbn): diff --git a/ecs/jskult-webapp/src/repositories/pharmacy_product_master_repository.py b/ecs/jskult-webapp/src/repositories/pharmacy_product_master_repository.py index a430ee67..c2bd95ed 100644 --- a/ecs/jskult-webapp/src/repositories/pharmacy_product_master_repository.py +++ b/ecs/jskult-webapp/src/repositories/pharmacy_product_master_repository.py @@ -9,6 +9,7 @@ class PharmacyProductMasterRepository(BaseRepository): FETCH_SQL = """\ SELECT + t1.mkr_cd, CONCAT(IFNULL(t1.mkr_cd, ''), ' ', IFNULL(t1.mkr_inf_1, '')) AS mkr_cd_name FROM src05.phm_prd_mst_v t1 diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index 97f7f22b..c0b3c43c 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -156,7 +156,7 @@ class BioViewService(BaseService): header_df = pd.DataFrame([header_data], index=None) output_df = pd.concat([header_df, data_frame]) # ヘッダー行としてではなく、1レコードとして出力する - output_df.to_csv(output_file_path, index=False, header=False) + output_df.to_csv(output_file_path, index=False, header=False, encoding="utf-8_sig") return output_file_path diff --git a/ecs/jskult-webapp/src/system_var/constants.py b/ecs/jskult-webapp/src/system_var/constants.py index 184a3eb9..495abe86 100644 --- a/ecs/jskult-webapp/src/system_var/constants.py +++ b/ecs/jskult-webapp/src/system_var/constants.py @@ -85,7 +85,7 @@ BIO_CSV_HEADER = [ 'Veeva卸組織コード', '卸組織名', 'Veeva取引区分コード', - '移行' + '2017年11月以前データ' ] SLIP_ORG_KBN_FULL_NAME = { diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index 3a1fa7ab..fa1e004a 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -52,12 +52,12 @@ 処理日: - ~ - @@ -74,7 +74,7 @@ @@ -84,7 +84,7 @@ {% for phm in bio.phm_models %} {% endfor %} @@ -94,12 +94,12 @@ 発伝年月日: - ~ - @@ -165,7 +165,7 @@ Veeva卸組織コード 卸組織名 Veeva取引区分コード - 移行 + 2017年11月以前データ From ffc8d16633a84e605c989e83d791ab5baccab138 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Mon, 24 Jul 2023 18:43:11 +0900 Subject: [PATCH 06/15] =?UTF-8?q?fix:=20=E6=A4=9C=E7=B4=A2=E4=BB=B6?= =?UTF-8?q?=E6=95=B0=E3=81=8C=E5=A4=9A=E3=81=84=E3=81=A8=E3=81=8D=E3=81=AB?= =?UTF-8?q?=E7=94=BB=E9=9D=A2=E3=81=8C=E8=A1=A8=E7=A4=BA=E3=81=95=E3=82=8C?= =?UTF-8?q?=E3=81=AA=E3=81=84=E5=95=8F=E9=A1=8C=E3=82=92=E8=A7=A3=E6=B6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/model/view/bio_view_model.py | 11 +++++-- ecs/jskult-webapp/src/system_var/constants.py | 3 ++ .../src/templates/bioSearchList.html | 32 +++++++++++-------- 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/ecs/jskult-webapp/src/model/view/bio_view_model.py b/ecs/jskult-webapp/src/model/view/bio_view_model.py index 57f49a15..080149de 100644 --- a/ecs/jskult-webapp/src/model/view/bio_view_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_view_model.py @@ -9,7 +9,7 @@ from src.model.db.pharmacy_product_master import PharmacyProductMasterModel from src.model.db.wholesaler_master import WholesalerMasterModel from src.model.request.bio import BioModel from src.model.view.bio_disp_model import BisDisplayModel -from src.system_var import environment +from src.system_var import constants, environment class BioViewModel(BaseModel): @@ -52,8 +52,15 @@ class BioViewModel(BaseModel): def bio_data_json_str(self): def date_handler(obj): + """json.dumpsの日付項目のフォーマットハンドラ""" return obj.isoformat() if hasattr(obj, 'isoformat') else obj - return json.dumps([model.dict() for model in self.bio_data], ensure_ascii=False, default=date_handler) + + search_data_list = [model.dict() for model in self.bio_data] + search_data_len = len(search_data_list) + # 1ページあたりの表示件数単位で、リストにPUSH + part_page_size = constants.BIO_SEARCH_LIST_PAGE_SIZE + for i in range(0, search_data_len, part_page_size): + yield json.dumps(search_data_list[i:i + part_page_size], ensure_ascii=False, default=date_handler) def make_whs_name(self): if not self.is_form_submitted(): diff --git a/ecs/jskult-webapp/src/system_var/constants.py b/ecs/jskult-webapp/src/system_var/constants.py index 495abe86..fbcb1016 100644 --- a/ecs/jskult-webapp/src/system_var/constants.py +++ b/ecs/jskult-webapp/src/system_var/constants.py @@ -5,6 +5,9 @@ BATCH_STATUS_PROCESSING = '1' # 日付テーブル.dump取得状態区分:未処理 DUMP_STATUS_UNPROCESSED = '0' +# 生物由来照会 + +BIO_SEARCH_LIST_PAGE_SIZE = 100 BIO_TEMPORARY_FILE_DIR_PATH = path.join(path.curdir, 'src', 'data') BIO_EXCEL_TEMPLATE_FILE_PATH = path.join(BIO_TEMPORARY_FILE_DIR_PATH, 'BioData_template.xlsx') diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index fa1e004a..5f25dc0f 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -5,7 +5,7 @@ {% include '_header.html' %} {% endwith %} - + From c0aa09c87bde73a2c093daa9e76c2cd9020b8976 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Mon, 24 Jul 2023 18:44:43 +0900 Subject: [PATCH 07/15] =?UTF-8?q?refactor:=20=E3=83=95=E3=82=A1=E3=82=A4?= =?UTF-8?q?=E3=83=AB=E5=90=8D=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/model/db/{bio_sales_view.py => bio_sales_lot.py} | 0 ecs/jskult-webapp/src/model/view/bio_disp_model.py | 2 +- ...bio_sales_view_repository.py => bio_sales_lot_repository.py} | 2 +- ecs/jskult-webapp/src/services/bio_view_service.py | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename ecs/jskult-webapp/src/model/db/{bio_sales_view.py => bio_sales_lot.py} (100%) rename ecs/jskult-webapp/src/repositories/{bio_sales_view_repository.py => bio_sales_lot_repository.py} (98%) diff --git a/ecs/jskult-webapp/src/model/db/bio_sales_view.py b/ecs/jskult-webapp/src/model/db/bio_sales_lot.py similarity index 100% rename from ecs/jskult-webapp/src/model/db/bio_sales_view.py rename to ecs/jskult-webapp/src/model/db/bio_sales_lot.py diff --git a/ecs/jskult-webapp/src/model/view/bio_disp_model.py b/ecs/jskult-webapp/src/model/view/bio_disp_model.py index 851dc6a9..dd9c2bb0 100644 --- a/ecs/jskult-webapp/src/model/view/bio_disp_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_disp_model.py @@ -1,4 +1,4 @@ -from src.model.db.bio_sales_view import BioSalesLotDBModel +from src.model.db.bio_sales_lot import BioSalesLotDBModel from src.util.sanitize import sanitize diff --git a/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py similarity index 98% rename from ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py rename to ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py index 4eead447..c7b5fe91 100644 --- a/ecs/jskult-webapp/src/repositories/bio_sales_view_repository.py +++ b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py @@ -1,7 +1,7 @@ from src.db import sql_condition as condition from src.db.sql_condition import SQLCondition from src.logging.get_logger import get_logger -from src.model.db.bio_sales_view import BioSalesLotDBModel +from src.model.db.bio_sales_lot import BioSalesLotDBModel from src.model.request.bio import BioModel from src.repositories.base_repository import BaseRepository from src.util.string_util import is_not_empty diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index c0b3c43c..f77a6a5b 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -12,7 +12,7 @@ from src.model.request.bio import BioModel from src.model.view.bio_disp_model import BisDisplayModel from src.model.view.bio_view_model import BioViewModel from src.repositories.base_repository import BaseRepository -from src.repositories.bio_sales_view_repository import BioSalesLotRepository +from src.repositories.bio_sales_lot_repository import BioSalesLotRepository from src.repositories.pharmacy_product_master_repository import \ PharmacyProductMasterRepository from src.repositories.wholesaler_master_repository import \ From 52976343f79d89454d8d5445a1cc425ac8568f14 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 25 Jul 2023 08:52:07 +0900 Subject: [PATCH 08/15] =?UTF-8?q?feat:=201=E5=91=BC=E3=81=B3=E5=87=BA?= =?UTF-8?q?=E3=81=97=E8=BE=BA=E3=81=AE=E5=88=86=E5=89=B2=E6=95=B0=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/model/view/bio_view_model.py | 11 ++++++----- ecs/jskult-webapp/src/system_var/constants.py | 1 - 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ecs/jskult-webapp/src/model/view/bio_view_model.py b/ecs/jskult-webapp/src/model/view/bio_view_model.py index 080149de..5c0cd4d7 100644 --- a/ecs/jskult-webapp/src/model/view/bio_view_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_view_model.py @@ -9,7 +9,7 @@ from src.model.db.pharmacy_product_master import PharmacyProductMasterModel from src.model.db.wholesaler_master import WholesalerMasterModel from src.model.request.bio import BioModel from src.model.view.bio_disp_model import BisDisplayModel -from src.system_var import constants, environment +from src.system_var import environment class BioViewModel(BaseModel): @@ -51,16 +51,17 @@ class BioViewModel(BaseModel): ) def bio_data_json_str(self): + """生物由来ロット分解データの検索結果を指定された件数ごとに分割しながら返す""" def date_handler(obj): """json.dumpsの日付項目のフォーマットハンドラ""" return obj.isoformat() if hasattr(obj, 'isoformat') else obj search_data_list = [model.dict() for model in self.bio_data] search_data_len = len(search_data_list) - # 1ページあたりの表示件数単位で、リストにPUSH - part_page_size = constants.BIO_SEARCH_LIST_PAGE_SIZE - for i in range(0, search_data_len, part_page_size): - yield json.dumps(search_data_list[i:i + part_page_size], ensure_ascii=False, default=date_handler) + # 呼び出し一回あたりの分割数 + part_size = 500 + for i in range(0, search_data_len, part_size): + yield json.dumps(search_data_list[i:i + part_size], ensure_ascii=False, default=date_handler) def make_whs_name(self): if not self.is_form_submitted(): diff --git a/ecs/jskult-webapp/src/system_var/constants.py b/ecs/jskult-webapp/src/system_var/constants.py index fbcb1016..d5d4eaea 100644 --- a/ecs/jskult-webapp/src/system_var/constants.py +++ b/ecs/jskult-webapp/src/system_var/constants.py @@ -7,7 +7,6 @@ DUMP_STATUS_UNPROCESSED = '0' # 生物由来照会 -BIO_SEARCH_LIST_PAGE_SIZE = 100 BIO_TEMPORARY_FILE_DIR_PATH = path.join(path.curdir, 'src', 'data') BIO_EXCEL_TEMPLATE_FILE_PATH = path.join(BIO_TEMPORARY_FILE_DIR_PATH, 'BioData_template.xlsx') From 6ad11cbac7ed83f636b540a66a12347fe664b214 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 25 Jul 2023 10:35:02 +0900 Subject: [PATCH 09/15] =?UTF-8?q?fix:=20=E3=83=86=E3=83=B3=E3=83=97?= =?UTF-8?q?=E3=83=AC=E3=83=BC=E3=83=88=E3=81=B8=E3=81=AE=E5=9F=8B=E8=BE=BC?= =?UTF-8?q?=E6=99=82=E3=81=AB=E3=82=AF=E3=82=A9=E3=83=BC=E3=83=88=E3=81=8C?= =?UTF-8?q?=E3=81=8A=E3=81=8B=E3=81=97=E3=81=8F=E3=81=AA=E3=82=8B=E5=95=8F?= =?UTF-8?q?=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/model/view/bio_view_model.py | 5 ++++- ecs/jskult-webapp/src/templates/bioSearchList.html | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ecs/jskult-webapp/src/model/view/bio_view_model.py b/ecs/jskult-webapp/src/model/view/bio_view_model.py index 5c0cd4d7..ee36080b 100644 --- a/ecs/jskult-webapp/src/model/view/bio_view_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_view_model.py @@ -61,7 +61,10 @@ class BioViewModel(BaseModel): # 呼び出し一回あたりの分割数 part_size = 500 for i in range(0, search_data_len, part_size): - yield json.dumps(search_data_list[i:i + part_size], ensure_ascii=False, default=date_handler) + json_str = json.dumps(search_data_list[i:i + part_size], ensure_ascii=False, default=date_handler) + # テンプレートに埋め込むため、ダブルクォートをエスケープして返す + json_str = json_str.replace('"', '\\"') + yield json_str def make_whs_name(self): if not self.is_form_submitted(): diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index 5f25dc0f..bac1b4ab 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -340,7 +340,7 @@ // {% autoescape False%} // ジェネレータで100件ずつ取ってリストに詰める // {% for bio_data_json_str in bio.bio_data_json_str() %} - searchResultData.push(...JSON.parse('{{bio_data_json_str}}')) + searchResultData.push(...JSON.parse("{{bio_data_json_str}}")) // {% endfor %} // {% endautoescape%} // {% endif %} From 119cba7f534b8ec87761488b00a50b4e647530bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=8E=E9=96=93?= Date: Tue, 25 Jul 2023 10:43:58 +0900 Subject: [PATCH 10/15] =?UTF-8?q?SQL=E5=8F=96=E5=BE=97=E9=A0=85=E7=9B=AE?= =?UTF-8?q?=E9=A0=86=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repositories/bio_sales_lot_repository.py | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py index c7b5fe91..b061a79d 100644 --- a/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py +++ b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py @@ -12,43 +12,43 @@ logger = get_logger('生物由来参照') class BioSalesLotRepository(BaseRepository): FETCH_SQL = """\ SELECT + data_kind, slip_mgt_num, + rec_ymd, rec_whs_cd, rec_whs_sub_cd, - rec_whs_org_cd, - rec_comm_cd, - rec_tran_kbn, - rev_hsdnymd_srk, - rec_urag_num, - rec_nonyu_fcl_name, - rec_nonyu_fcl_addr, - rec_lot_num, - rec_ymd, - v_tran_cd, - tran_kbn_name, - v_whsorg_cd, - whs_org_name, - v_whs_cd, whs_name, - nonyu_fcl_cd, + rec_whs_org_cd, + rec_urag_num, + rev_hsdnymd_srk, + rec_tran_kbn, + tran_kbn_name, + mkr_cd, + rec_comm_cd, product_name, whs_rep_comm_name, + nonyu_fcl_cd, + rec_nonyu_fcl_name, whs_rep_nonyu_fcl_name, + rec_nonyu_fcl_addr, whs_rep_nonyu_fcl_addr, - mkr_cd, + rec_lot_num, qty, + expr_dt, + data_kbn, + err_dtl_kind, bef_slip_mgt_num, - iko_flg, - ins_dt, ins_usr, + ins_dt, inst_cd, inst_name_form, address, tel_num, - data_kbn, - data_kind, - err_dtl_kind, - expr_dt + v_whsorg_cd, + whs_org_name, + v_tran_cd, + v_whs_cd, + iko_flg FROM src05.bio_sales_lot WHERE From d9ba55e023c6ab52dfd49cc1c9fd099d975b7c66 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 25 Jul 2023 11:24:25 +0900 Subject: [PATCH 11/15] =?UTF-8?q?fix:=20=E3=82=B7=E3=83=B3=E3=82=B0?= =?UTF-8?q?=E3=83=AB=E3=83=BB=E3=83=80=E3=83=96=E3=83=AB=E3=82=AF=E3=82=A9?= =?UTF-8?q?=E3=83=BC=E3=83=88=E4=B8=A1=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/model/view/bio_view_model.py | 5 +++-- ecs/jskult-webapp/src/templates/bioSearchList.html | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ecs/jskult-webapp/src/model/view/bio_view_model.py b/ecs/jskult-webapp/src/model/view/bio_view_model.py index ee36080b..57d5f153 100644 --- a/ecs/jskult-webapp/src/model/view/bio_view_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_view_model.py @@ -62,8 +62,9 @@ class BioViewModel(BaseModel): part_size = 500 for i in range(0, search_data_len, part_size): json_str = json.dumps(search_data_list[i:i + part_size], ensure_ascii=False, default=date_handler) - # テンプレートに埋め込むため、ダブルクォートをエスケープして返す - json_str = json_str.replace('"', '\\"') + # JavaScriptに埋め込むため、クォートをエスケープ + json_str = json_str.replace("'", "\\'") + json_str = json_str.replace('\\"', '\\\\"') yield json_str def make_whs_name(self): diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index bac1b4ab..01f171a5 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -338,9 +338,9 @@ const searchResultData = [] // {% if bio.is_form_submitted() and not (bio.is_data_overflow_max_length() or bio.is_data_empty()) %} // {% autoescape False%} - // ジェネレータで100件ずつ取ってリストに詰める + // ジェネレータですこしずつ取得してリストに詰める // {% for bio_data_json_str in bio.bio_data_json_str() %} - searchResultData.push(...JSON.parse("{{bio_data_json_str}}")) + searchResultData.push(...JSON.parse('{{bio_data_json_str}}')) // {% endfor %} // {% endautoescape%} // {% endif %} From 3c0c8fb1b64f1dd0708df8c2adcdd8b02975806d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=8E=E9=96=93?= Date: Tue, 25 Jul 2023 16:58:09 +0900 Subject: [PATCH 12/15] =?UTF-8?q?=E5=8D=98=E4=BD=93=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E4=B8=8D=E5=85=B7=E5=90=88=E5=AF=BE=E5=BF=9C=EF=BC=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/data/BioData_template.xlsx | Bin 10348 -> 10423 bytes .../repositories/bio_sales_lot_repository.py | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ecs/jskult-webapp/src/data/BioData_template.xlsx b/ecs/jskult-webapp/src/data/BioData_template.xlsx index 4a6292ff20b0ab793c282b122e8254d682f6ee53..ec1575a2932f20bd823620b1001e6192ca7f420b 100644 GIT binary patch delta 4416 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 SUjP6=b=|wJA+LD Date: Wed, 26 Jul 2023 10:05:57 +0900 Subject: [PATCH 13/15] =?UTF-8?q?=E5=8D=98=E4=BD=93=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E4=B8=8D=E5=85=B7=E5=90=88=E5=AF=BE=E5=BF=9C=EF=BC=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/static/css/bioStyle.css | 18 ++++++++- ecs/jskult-webapp/src/system_var/constants.py | 40 ------------------- .../src/templates/bioSearchList.html | 8 ++-- 3 files changed, 22 insertions(+), 44 deletions(-) diff --git a/ecs/jskult-webapp/src/static/css/bioStyle.css b/ecs/jskult-webapp/src/static/css/bioStyle.css index 7ecde3c5..0eadc543 100644 --- a/ecs/jskult-webapp/src/static/css/bioStyle.css +++ b/ecs/jskult-webapp/src/static/css/bioStyle.css @@ -81,9 +81,25 @@ table{ .bioScroll_div { overflow: auto; + white-space: nowrap; margin-top: 1%; + margin-bottom: 1%; + width: 100%; height: 250px; - width: 1132px; +} +.bioScroll_div::-webkit-scrollbar { + height: 5px; + width: 10px; +} + +.bioScroll_div::-webkit-scrollbar-track { + border-radius: 5px; + background: #eee; +} + +.bioScroll_div::-webkit-scrollbar-thumb { + border-radius: 5px; + background: #666; } .noLine{ diff --git a/ecs/jskult-webapp/src/system_var/constants.py b/ecs/jskult-webapp/src/system_var/constants.py index d5d4eaea..ecccfb2c 100644 --- a/ecs/jskult-webapp/src/system_var/constants.py +++ b/ecs/jskult-webapp/src/system_var/constants.py @@ -10,46 +10,6 @@ DUMP_STATUS_UNPROCESSED = '0' BIO_TEMPORARY_FILE_DIR_PATH = path.join(path.curdir, 'src', 'data') BIO_EXCEL_TEMPLATE_FILE_PATH = path.join(BIO_TEMPORARY_FILE_DIR_PATH, 'BioData_template.xlsx') -BIO_EXTRACT_COLUMNS = [ - 'data_kind', - 'slip_mgt_num', - 'rec_ymd', - 'rec_whs_cd', - 'rec_whs_sub_cd', - 'whs_name', - 'rec_whs_org_cd', - 'rec_urag_num', - 'rev_hsdnymd_srk', - 'rec_tran_kbn', - 'tran_kbn_name', - 'mkr_cd', - 'rec_comm_cd', - 'product_name', - 'whs_rep_comm_name', - 'nonyu_fcl_cd', - 'rec_nonyu_fcl_name', - 'whs_rep_nonyu_fcl_name', - 'rec_nonyu_fcl_addr', - 'whs_rep_nonyu_fcl_addr', - 'rec_lot_num', - 'qty', - 'expr_dt', - 'data_kbn', - 'err_dtl_kind', - 'bef_slip_mgt_num', - 'ins_usr', - 'ins_dt', - 'inst_cd', - 'inst_name_form', - 'address', - 'tel_num', - 'v_whs_cd', - 'v_whsorg_cd', - 'whs_org_name', - 'v_tran_cd', - 'iko_flg' -] - BIO_CSV_HEADER = [ 'データ種別', '伝票管理NO', diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index 01f171a5..2da95017 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -7,9 +7,11 @@ @@ -288,7 +286,6 @@ $(val).attr('tabindex', '0') // Enterキー押下時に要素をクリックできるようにイベントを付加する $(val).on('keypress', function(e) { - console.log(e.code) if (e.code === 'Enter') { $(e.target).click() $(val).off('keypress')