From dee3a3b1cb64093aeade42889eef0216a4c63480 Mon Sep 17 00:00:00 2001 From: yono Date: Thu, 29 May 2025 15:40:46 +0900 Subject: [PATCH] =?UTF-8?q?feat:=E7=94=9F=E7=89=A9=E7=94=B1=E6=9D=A5?= =?UTF-8?q?=E3=83=87=E3=83=BC=E3=82=BF=E5=8F=82=E7=85=A7=E7=B3=BB=E3=81=AE?= =?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/model/db/pharmacy_product_master.py | 4 +- .../src/model/db/trn_result_data_bio_lot.py | 66 ++++----- ecs/jskult-webapp/src/model/request/bio.py | 135 +++++++++--------- .../src/model/view/bio_disp_model.py | 6 +- .../src/model/view/bio_view_model.py | 17 +-- .../pharmacy_product_master_repository.py | 30 ++-- .../trn_result_data_bio_lot_repository.py | 133 ++++++++--------- .../wholesaler_master_repository.py | 6 +- .../src/templates/bioSearchList.html | 126 +++++++--------- 9 files changed, 239 insertions(+), 284 deletions(-) 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 35181012..eadaf44c 100644 --- a/ecs/jskult-webapp/src/model/db/pharmacy_product_master.py +++ b/ecs/jskult-webapp/src/model/db/pharmacy_product_master.py @@ -4,5 +4,5 @@ from src.model.db.base_db_model import BaseDBModel class PharmacyProductMasterModel(BaseDBModel): - mkr_cd: Optional[str] - mkr_cd_name: Optional[str] + prod_pkg_cd: Optional[str] + prod_pkg_cd_name: Optional[str] diff --git a/ecs/jskult-webapp/src/model/db/trn_result_data_bio_lot.py b/ecs/jskult-webapp/src/model/db/trn_result_data_bio_lot.py index f3e36951..2c96429f 100644 --- a/ecs/jskult-webapp/src/model/db/trn_result_data_bio_lot.py +++ b/ecs/jskult-webapp/src/model/db/trn_result_data_bio_lot.py @@ -4,45 +4,37 @@ from typing import Optional from src.model.db.base_db_model import BaseDBModel -class BioSalesLotDBModel(BaseDBModel): - slip_mgt_num: Optional[str] - rec_whs_cd: Optional[str] - rec_whs_sub_cd: Optional[str] - rec_whs_org_cd: Optional[str] - rec_comm_cd: Optional[str] - rec_tran_kbn: Optional[str] - rev_hsdnymd_srk: Optional[str] - rec_urag_num: Optional[str] - rec_nonyu_fcl_name: Optional[str] - rec_nonyu_fcl_addr: Optional[str] - rec_lot_num: Optional[str] - rec_ymd: Optional[str] - v_tran_cd: Optional[int] - tran_kbn_name: Optional[str] - v_whsorg_cd: Optional[int] - whs_org_name: Optional[str] - v_whs_cd: Optional[int] - whs_name: Optional[str] - nonyu_fcl_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_cd: Optional[str] - qty: Optional[int] - bef_slip_mgt_num: Optional[str] - iko_flg: Optional[str] - ins_dt: Optional[datetime] - ins_usr: Optional[str] - inst_cd: Optional[str] - inst_name_form: Optional[str] +class TrnResultDataBioLotDBModel(BaseDBModel): + if_kind: Optional[str] + account_ym: Optional[str] + seq_no: Optional[int] + load_dt: Optional[datetime] + orig_whlslr_cd: Optional[str] + orig_whlslr_sub_cd: Optional[str] + cls_whlslr_nm: Optional[str] + edit_whlslr_org_cd: Optional[str] + orig_slip_no: Optional[str] + cnvs_sales_dt: Optional[datetime] + edit_deal_div_cd: Optional[str] + cls_deal_div_nm: Optional[str] + cnvs_prod_cd: Optional[str] + orig_univ_product_cd: Optional[str] + cls_prod_nm: Optional[str] + edit_endusr_cd: Optional[str] + orig_endusr_nm: Optional[str] + orig_jd45_addr_txt: Optional[str] + cnvs_lot_no: Optional[str] + cnvs_lot_sales_qty: Optional[int] + expr_dt: Optional[date] + data_kbn: Optional[str] + cnvs_inst_cd: Optional[str] + cls_inst_nm: Optional[str] address: Optional[str] tel_num: Optional[str] - data_kbn: Optional[str] - data_kind: Optional[str] - err_dtl_kind: Optional[str] - expr_dt: Optional[date] - + cnvs_whlslr_cd: Optional[str] + cnvs_depo_cd: Optional[str] + cls_depo_nm: Optional[str] + cnvs_deal_div_cd: Optional[str] class BioSalesLotCountDBModel(BaseDBModel): count: Optional[int] diff --git a/ecs/jskult-webapp/src/model/request/bio.py b/ecs/jskult-webapp/src/model/request/bio.py index 3120f4ed..c79ac2b0 100644 --- a/ecs/jskult-webapp/src/model/request/bio.py +++ b/ecs/jskult-webapp/src/model/request/bio.py @@ -9,18 +9,17 @@ from src.util.string_util import is_not_empty @sanitize class BioModel(BaseModel): - rec_whs_cd: Optional[str] - rec_whs_sub_cd: Optional[str] - whs_name: Optional[str] - slip_org_kbn: Optional[str] - rec_ymd_from: Optional[str] - rec_ymd_to: Optional[str] - rec_lot_num: Optional[str] - data_kbn: Optional[str] - mkr_cd: Optional[str] - rev_hsdnymd_srk_from: Optional[str] - rev_hsdnymd_srk_to: Optional[str] - iko_flg: Optional[str] + orig_whlslr_cd: Optional[str] + orig_whlslr_sub_cd: Optional[str] + cls_whlslr_nm: Optional[str] + if_kind: Optional[str] + load_dt_from: Optional[str] + load_dt_to: Optional[str] + cnvs_lot_no: Optional[str] + result_cd: Optional[str] + cnvs_prod_cd: Optional[str] + cnvs_sales_dt_from: Optional[str] + cnvs_sales_dt_to: Optional[str] pageNumber: Optional[int] pageSize: Optional[int] @@ -29,14 +28,13 @@ class BioModel(BaseModel): cls, ctrl_wholesaler: str = Form(None), ctrl_org_kbn: str = Form(None), - ctrl_rec_ymd_from: str = Form(None), - ctrl_rec_ymd_to: str = Form(None), - ctrl_rec_lot_num: str = Form(None), - ctrl_data_kbn: str = Form(None), + ctrl_load_dt_from: str = Form(None), + ctrl_load_dt_to: str = Form(None), + ctrl_cnvs_lot_no: str = Form(None), + ctrl_result_cd: str = Form(None), ctrl_maker_cd: str = Form(None), - ctrl_rev_hsdnymd_srk_from: str = Form(None), - ctrl_rev_hsdnymd_srk_to: str = Form(None), - ikoFlg: str = Form(None), + ctrl_cnvs_sales_dt_from: str = Form(None), + ctrl_cnvs_sales_dt_to: str = Form(None), pageNumber: int = Form(None), pageSize: int = Form(None) ): @@ -45,14 +43,13 @@ class BioModel(BaseModel): cls, ctrl_wholesaler, ctrl_org_kbn, - ctrl_rec_ymd_from, - ctrl_rec_ymd_to, - ctrl_rec_lot_num, - ctrl_data_kbn, + ctrl_load_dt_from, + ctrl_load_dt_to, + ctrl_cnvs_lot_no, + ctrl_result_cd, ctrl_maker_cd, - ctrl_rev_hsdnymd_srk_from, - ctrl_rev_hsdnymd_srk_to, - ikoFlg, + ctrl_cnvs_sales_dt_from, + ctrl_cnvs_sales_dt_to, pageNumber, pageSize ) @@ -62,42 +59,39 @@ class BioModel(BaseModel): cls, ctrl_wholesaler: str = Body(None), ctrl_org_kbn: str = Body(None), - ctrl_rec_ymd_from: str = Body(None), - ctrl_rec_ymd_to: str = Body(None), - ctrl_rec_lot_num: str = Body(None), - ctrl_data_kbn: str = Body(None), + ctrl_load_dt_from: str = Body(None), + ctrl_load_dt_to: str = Body(None), + ctrl_cnvs_lot_no: str = Body(None), + ctrl_result_cd: str = Body(None), ctrl_maker_cd: str = Body(None), - ctrl_rev_hsdnymd_srk_from: str = Body(None), - ctrl_rev_hsdnymd_srk_to: str = Body(None), - ikoFlg: str = Body(None) + ctrl_cnvs_sales_dt_from: str = Body(None), + ctrl_cnvs_sales_dt_to: str = Body(None) ): return cls.__convert_request_param( cls, ctrl_wholesaler, ctrl_org_kbn, - ctrl_rec_ymd_from, - ctrl_rec_ymd_to, - ctrl_rec_lot_num, - ctrl_data_kbn, + ctrl_load_dt_from, + ctrl_load_dt_to, + ctrl_cnvs_lot_no, + ctrl_result_cd, ctrl_maker_cd, - ctrl_rev_hsdnymd_srk_from, - ctrl_rev_hsdnymd_srk_to, - ikoFlg + ctrl_cnvs_sales_dt_from, + ctrl_cnvs_sales_dt_to ) def __convert_request_param( cls, ctrl_wholesaler: str, ctrl_org_kbn: str, - ctrl_rec_ymd_from: str, - ctrl_rec_ymd_to: str, - ctrl_rec_lot_num: str, - ctrl_data_kbn: str, + ctrl_load_dt_from: str, + ctrl_load_dt_to: str, + ctrl_cnvs_lot_no: str, + ctrl_result_cd: str, ctrl_maker_cd: str, - ctrl_rev_hsdnymd_srk_from: str, - ctrl_rev_hsdnymd_srk_to: str, - ikoFlg: str, + ctrl_cnvs_sales_dt_from: str, + ctrl_cnvs_sales_dt_to: str, pageNumber: int = None, pageSize: int = None ): @@ -113,34 +107,33 @@ class BioModel(BaseModel): wholesaler_sub_code = wholesaler_without_name.split('-')[1] # 処理日 - rec_ymd_from = None - rec_ymd_to = None - if is_not_empty(ctrl_rec_ymd_from): - rec_ymd_from = ctrl_rec_ymd_from.replace('/', '') - if is_not_empty(ctrl_rec_ymd_to): - rec_ymd_to = ctrl_rec_ymd_to.replace('/', '') + load_dt_from = None + load_dt_to = None + if is_not_empty(ctrl_load_dt_from): + load_dt_from = ctrl_load_dt_from.replace('/', '') + if is_not_empty(ctrl_load_dt_to): + load_dt_to = ctrl_load_dt_to.replace('/', '') # 発伝年月日 - rev_hsdnymd_srk_from = None - rev_hsdnymd_srk_to = None - if is_not_empty(ctrl_rev_hsdnymd_srk_from): - rev_hsdnymd_srk_from = ctrl_rev_hsdnymd_srk_from.replace('/', '') - if is_not_empty(ctrl_rev_hsdnymd_srk_to): - rev_hsdnymd_srk_to = ctrl_rev_hsdnymd_srk_to.replace('/', '') + cnvs_sales_dt_from = None + cnvs_sales_dt_to = None + if is_not_empty(ctrl_cnvs_sales_dt_from): + cnvs_sales_dt_from = ctrl_cnvs_sales_dt_from.replace('/', '') + if is_not_empty(ctrl_cnvs_sales_dt_to): + cnvs_sales_dt_to = ctrl_cnvs_sales_dt_to.replace('/', '') return cls( - rec_whs_cd=wholesaler_code, - rec_whs_sub_cd=wholesaler_sub_code, - whs_name=wholesaler_name, - slip_org_kbn=ctrl_org_kbn, - rec_ymd_from=rec_ymd_from, - rec_ymd_to=rec_ymd_to, - rec_lot_num=ctrl_rec_lot_num, - data_kbn=ctrl_data_kbn, - mkr_cd=ctrl_maker_cd, - rev_hsdnymd_srk_from=rev_hsdnymd_srk_from, - rev_hsdnymd_srk_to=rev_hsdnymd_srk_to, - iko_flg=ikoFlg, + orig_whlslr_cd=wholesaler_code, + orig_whlslr_sub_cd=wholesaler_sub_code, + cls_whlslr_nm=wholesaler_name, + if_kind=ctrl_org_kbn, + load_dt_from=load_dt_from, + load_dt_to=load_dt_to, + cnvs_lot_no=ctrl_cnvs_lot_no, + result_cd=ctrl_result_cd, + cnvs_prod_cd=ctrl_maker_cd, + cnvs_sales_dt_from=cnvs_sales_dt_from, + cnvs_sales_dt_to=cnvs_sales_dt_to, pageNumber=pageNumber, pageSize=pageSize ) 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 2a2d0518..c4bfc6ea 100644 --- a/ecs/jskult-webapp/src/model/view/bio_disp_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_disp_model.py @@ -1,8 +1,8 @@ -from src.model.db.trn_result_data_bio_lot import BioSalesLotDBModel +from src.model.db.trn_result_data_bio_lot import TrnResultDataBioLotDBModel from src.util.sanitize import sanitize @sanitize -class BioDisplayModel(BioSalesLotDBModel): - def __init__(self, param: BioSalesLotDBModel) -> None: +class BioDisplayModel(TrnResultDataBioLotDBModel): + def __init__(self, param: TrnResultDataBioLotDBModel) -> None: super().__init__(**param.model_dump()) 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 e0aab9ad..0600cabd 100644 --- a/ecs/jskult-webapp/src/model/view/bio_view_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_view_model.py @@ -26,9 +26,10 @@ class BioViewModel(BaseModel): return OrderedDict( { '': '', - 'J': 'JD-NET', - 'N': 'NHI', - 'H': '手入力' + '1':'VAN', + '2':'手入力', + '3':'VAN-Web', + 'S':'SCSK-VAN' } ) @@ -36,10 +37,10 @@ class BioViewModel(BaseModel): return OrderedDict( { '': '', - '0': '正常', - '1': 'ロットエラー', - '3': 'ロット不明', - '9': 'エラー(解消済み)', - '2': '除外' + '1':'正常', + '2':'卸間転送除外対象データ', + 'E':'エラー', + 'D':'エラー(重複)', + 'Z':'エラー(想定外)' } ) 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 4b4083c8..5b238bcf 100644 --- a/ecs/jskult-webapp/src/repositories/pharmacy_product_master_repository.py +++ b/ecs/jskult-webapp/src/repositories/pharmacy_product_master_repository.py @@ -8,24 +8,18 @@ logger = get_logger('製品取得') 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 - INNER JOIN - ( - SELECT - prd_cd, MAX(sub_num) AS sno - FROM - src05.phm_prd_mst_v - WHERE rec_sts_kbn <> '9' - GROUP BY prd_cd - ) fmv2 - ON t1.prd_cd = fmv2.prd_cd AND t1.sub_num = fmv2.sno - WHERE - t1.mkr_cd IS NOT NULL - ORDER BY mkr_cd + SELECT + prod_pkg_cd, + CONCAT(IFNULL(prod_pkg_cd, ''), ' ', IFNULL(prod_pkg_nm_kj, '')) AS prod_pkg_cd_name + FROM ( + SELECT + *, + ROW_NUMBER() OVER (PARTITION BY prod_pkg_cd ORDER BY eff_start_ym DESC) AS rn + FROM + src07.mst_prod_pkg + ) AS ranked + WHERE + rn = 1; """ def fetch_all(self) -> list[PharmacyProductMasterModel]: diff --git a/ecs/jskult-webapp/src/repositories/trn_result_data_bio_lot_repository.py b/ecs/jskult-webapp/src/repositories/trn_result_data_bio_lot_repository.py index b2e999e9..9dc7c66b 100644 --- a/ecs/jskult-webapp/src/repositories/trn_result_data_bio_lot_repository.py +++ b/ecs/jskult-webapp/src/repositories/trn_result_data_bio_lot_repository.py @@ -2,7 +2,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.trn_result_data_bio_lot import (BioSalesLotCountDBModel, - BioSalesLotDBModel) + TrnResultDataBioLotDBModel) from src.model.request.bio import BioModel from src.repositories.base_repository import BaseRepository from src.system_var import environment @@ -14,58 +14,50 @@ logger = get_logger('生物由来参照') class BioSalesLotRepository(BaseRepository): FETCH_SQL = """\ SELECT - 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, + if_kind, + account_ym, + seq_no, + load_dt, + orig_whlslr_cd, + orig_whlslr_sub_cd, + cls_whlslr_nm, + edit_whlslr_org_cd, + orig_slip_no, + cnvs_sales_dt, + edit_deal_div_cd, + cls_deal_div_nm, + cnvs_prod_cd, + orig_univ_product_cd, + cls_prod_nm, + edit_endusr_cd, + orig_endusr_nm, + orig_jd45_addr_txt, + cnvs_lot_no, + cnvs_lot_sales_qty, expr_dt, data_kbn, - err_dtl_kind, - bef_slip_mgt_num, - ins_usr, - ins_dt, - inst_cd, - inst_name_form, + cnvs_inst_cd, + cls_inst_nm, address, tel_num, - -- Excel出力のため、数値型のコード値を文字列として取得(Veeva卸コード、Veeva卸組織コード、Veeva取引区分コード) - CAST(v_whs_cd AS CHAR) AS v_whs_cd, - CAST(v_whsorg_cd AS CHAR) AS v_whsorg_cd, - whs_org_name, - CAST(v_tran_cd AS CHAR) AS v_tran_cd, - iko_flg + cnvs_whlslr_cd, + cnvs_depo_cd, + cls_depo_nm, + cnvs_deal_div_cd FROM src07.trn_result_data_bio_lot WHERE {where_clause} ORDER BY - rec_whs_cd, - rec_whs_sub_cd, - rev_hsdnymd_srk, - slip_mgt_num + orig_whlslr_cd, + orig_whlslr_sub_cd, + cnvs_sales_dt, + orig_slip_no ASC LIMIT {limit}\ """ - def fetch_many(self, parameter: BioModel) -> list[BioSalesLotDBModel]: + def fetch_many(self, parameter: BioModel) -> list[TrnResultDataBioLotDBModel]: try: logger.debug('DB参照実行') where_clause = self.__build_condition(parameter) @@ -74,7 +66,7 @@ class BioSalesLotRepository(BaseRepository): query = self.FETCH_SQL.format(where_clause=where_clause, limit=limit_clause) logger.debug(f'SQL: {query}') result = self._database.execute_select(query, parameter.model_dump()) - models = [BioSalesLotDBModel(**r) for r in result] + models = [TrnResultDataBioLotDBModel(**r) for r in result] return models except Exception as e: logger.exception(f"DB Error : Exception={e.args}") @@ -107,7 +99,7 @@ class BioSalesLotRepository(BaseRepository): ) AS t\ """ - def fetch_count(self, parameter: BioModel) -> list[BioSalesLotDBModel]: + def fetch_count(self, parameter: BioModel) -> list[TrnResultDataBioLotDBModel]: try: logger.debug('DB参照実行') where_clause = self.__build_condition(parameter) @@ -130,43 +122,44 @@ class BioSalesLotRepository(BaseRepository): where_clauses.append(SQLCondition('', '', '1 = 1', literal=True)) # 卸(コード/サブコード) - if is_not_empty(parameter.rec_whs_cd) and is_not_empty(parameter.rec_whs_sub_cd): - where_clauses.append(SQLCondition('rec_whs_cd', condition.EQ, 'rec_whs_cd')) - where_clauses.append(SQLCondition('rec_whs_sub_cd', condition.EQ, 'rec_whs_sub_cd')) - # データ種別 - if is_not_empty(parameter.slip_org_kbn): - where_clauses.append(SQLCondition('slip_org_kbn', condition.EQ, 'slip_org_kbn')) + if is_not_empty(parameter.orig_whlslr_cd) and is_not_empty(parameter.orig_whlslr_sub_cd): + where_clauses.append(SQLCondition('orig_whlslr_cd', condition.EQ, 'orig_whlslr_cd')) + where_clauses.append(SQLCondition('orig_whlslr_sub_cd', condition.EQ, 'orig_whlslr_sub_cd')) + # 連携種別 + if is_not_empty(parameter.if_kind): + where_clauses.append(SQLCondition('if_kind', condition.EQ, 'if_kind')) # 処理日 開始日 - if is_not_empty(parameter.rec_ymd_from): - where_clauses.append(SQLCondition('rec_ymd', condition.GE, 'rec_ymd_from')) + if is_not_empty(parameter.load_dt_from): + where_clauses.append(SQLCondition('load_dt', condition.GE, 'load_dt_from')) # 処理日 終了日 - if is_not_empty(parameter.rec_ymd_to): - where_clauses.append(SQLCondition('rec_ymd', condition.LE, 'rec_ymd_to')) + if is_not_empty(parameter.load_dt_to): + where_clauses.append(SQLCondition('load_dt', condition.LE, 'load_dt_to')) # ロット番号 - if is_not_empty(parameter.rec_lot_num): - rec_lot_num = parameter.rec_lot_num + if is_not_empty(parameter.cnvs_lot_no): + cnvs_lot_no = parameter.cnvs_lot_no # あいまい検索文字列('%')が含まれる場合は'LIKE'、でなければ'='で検索 - rec_lot_num_comparator = condition.LIKE if '%' in rec_lot_num else condition.EQ - where_clauses.append(SQLCondition('TRIM(rec_lot_num)', rec_lot_num_comparator, 'rec_lot_num')) + cnvs_lot_no_comparator = condition.LIKE if '%' in cnvs_lot_no else condition.EQ + where_clauses.append(SQLCondition('TRIM(cnvs_lot_no)', cnvs_lot_no_comparator, 'cnvs_lot_no')) # データ区分 - if is_not_empty(parameter.data_kbn): - where_clauses.append(SQLCondition('data_kbn', condition.EQ, 'data_kbn')) + if is_not_empty(parameter.result_cd): + where_clauses.append(SQLCondition('result_cd', condition.EQ, 'result_cd')) # 製品 - if is_not_empty(parameter.mkr_cd): - where_clauses.append(SQLCondition('mkr_cd', condition.EQ, 'mkr_cd')) + if is_not_empty(parameter.cnvs_prod_cd): + where_clauses.append(SQLCondition('cnvs_prod_cd', condition.EQ, 'cnvs_prod_cd')) # 発伝年月日 開始日 - if is_not_empty(parameter.rev_hsdnymd_srk_from): - where_clauses.append(SQLCondition('rev_hsdnymd_srk', condition.GE, 'rev_hsdnymd_srk_from')) + if is_not_empty(parameter.cnvs_sales_dt_from): + where_clauses.append(SQLCondition('cnvs_sales_dt', condition.GE, 'cnvs_sales_dt_from')) # 発伝年月日 終了日 - if is_not_empty(parameter.rev_hsdnymd_srk_to): - where_clauses.append(SQLCondition('rev_hsdnymd_srk', condition.LE, 'rev_hsdnymd_srk_to')) - # 移行フラグ - # チェックが入っていない場合、移行対象(IKO_FLG = '*')を省く - if parameter.iko_flg is None: - where_clauses.append(SQLCondition('iko_flg', condition.IS, 'NULL', literal=True)) + if is_not_empty(parameter.cnvs_sales_dt_to): + where_clauses.append(SQLCondition('cnvs_sales_dt', condition.LE, 'cnvs_sales_dt_to')) + # TODO: 削除 # 移行フラグ + # # チェックが入っていない場合、移行対象(IKO_FLG = '*')を省く + # if parameter.iko_flg is None: + # where_clauses.append(SQLCondition('iko_flg', condition.IS, 'NULL', literal=True)) # 固定条件 - # Viewで返されるロット番号9件をNull以外で抽出 - where_clauses.append(SQLCondition('LENGTH(TRIM(rec_lot_num))', condition.GT, '0', literal=True)) + # ロット番号9件をNull以外で抽出 + # 現在の仕組みだと存在有り得ないので削除 + # where_clauses.append(SQLCondition('LENGTH(TRIM(cnvs_lot_no))', condition.GT, '0', literal=True)) where_clauses_str = ' AND '.join([condition.apply() for condition in where_clauses]) diff --git a/ecs/jskult-webapp/src/repositories/wholesaler_master_repository.py b/ecs/jskult-webapp/src/repositories/wholesaler_master_repository.py index 287c0357..a3e31235 100644 --- a/ecs/jskult-webapp/src/repositories/wholesaler_master_repository.py +++ b/ecs/jskult-webapp/src/repositories/wholesaler_master_repository.py @@ -20,10 +20,10 @@ class WholesalerMasterRepository(BaseRepository): ws_cd, ws_nm_kj FROM src07.mst_whlslr - WHERE src07.get_syor_date() BETWEEN start_date AND end_date + WHERE src07.get_syor_date() BETWEEN str_to_date(concat(eff_start_ym, '01'), '%Y%m%d') AND str_to_date(concat(eff_end_ym, '01'), '%Y%m%d') ) v2 - ON b.ws_cd = v2.ws_cd - ORDER BY b.rec_whs_cd, b.rec_whs_sub_cd , b.whs_name DESC + ON b.orig_whlslr_cd = v2.ws_cd + ORDER BY b.orig_whlslr_cd, b.orig_whlslr_sub_cd , b.cls_whlslr_nm DESC """ def fetch_all(self) -> list[WholesalerMasterModel]: diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index 1e345ccc..65159f1e 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -43,7 +43,7 @@ {% endfor %} - データ種別: + 連携種別: ~ - @@ -69,13 +69,13 @@ ロット番号: - データ区分: - {% for data_kbn_code, data_kbn_value in bio.display_data_kbn().items() %}