feat:生物由来データ参照系の修正
This commit is contained in:
parent
13ac61c682
commit
dee3a3b1cb
@ -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]
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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
|
||||
)
|
||||
|
||||
@ -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())
|
||||
|
||||
@ -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':'エラー(想定外)'
|
||||
}
|
||||
)
|
||||
|
||||
@ -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
|
||||
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]:
|
||||
|
||||
@ -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])
|
||||
|
||||
|
||||
@ -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]:
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
<td>データ種別:</td>
|
||||
<td>連携種別:</td>
|
||||
<td class="search_tb">
|
||||
<select class="text search_dropdown" name="ctrl_org_kbn" onChange="formBtDisabled();applySearchParam(this)" value="">
|
||||
{% for org_kbn_code, org_kbn_value in bio.display_org_kbn().items() %}
|
||||
@ -55,12 +55,12 @@
|
||||
</td>
|
||||
<td>処理日:</td>
|
||||
<td colspan="2">
|
||||
<input type="text" id="shoribi_start" class="date_picker" name="ctrl_rec_ymd_from" maxlength="10"
|
||||
<input type="text" id="shoribi_start" class="date_picker" name="ctrl_load_dt_from" maxlength="10"
|
||||
value=""
|
||||
onchange="formBtDisabled();applySearchParam(this)"
|
||||
>
|
||||
~
|
||||
<input type="text" id="shoribi_end" class="date_picker" name="ctrl_rec_ymd_to" maxlength="10"
|
||||
<input type="text" id="shoribi_end" class="date_picker" name="ctrl_load_dt_to" maxlength="10"
|
||||
value=""
|
||||
onchange="formBtDisabled();applySearchParam(this)"
|
||||
>
|
||||
@ -69,13 +69,13 @@
|
||||
<tr>
|
||||
<td>ロット番号:</td>
|
||||
<td class="search_tb">
|
||||
<input class="text" type="text" id="lot_tb" name="ctrl_rec_lot_num" style="ime-mode:disabled" maxlength="10"
|
||||
<input class="text" type="text" id="lot_tb" name="ctrl_cnvs_lot_no" style="ime-mode:disabled" maxlength="10"
|
||||
value=""
|
||||
oninput="checkSpaceForm(this); checkAimaiSearhForm(this); formBtDisabled();applySearchParam(this)">
|
||||
</td>
|
||||
<td>データ区分:</td>
|
||||
<td class="search_tb">
|
||||
<select class="text search_dropdown" name="ctrl_data_kbn" onchange="formBtDisabled();applySearchParam(this)">
|
||||
<select class="text search_dropdown" name="ctrl_result_cd" onchange="formBtDisabled();applySearchParam(this)">
|
||||
{% for data_kbn_code, data_kbn_value in bio.display_data_kbn().items() %}
|
||||
<option option value="{{data_kbn_value}}">
|
||||
{{data_kbn_value}}
|
||||
@ -88,8 +88,8 @@
|
||||
<select class="text search_dropdown" name="ctrl_maker_cd" value="" onChange="formBtDisabled();applySearchParam(this);">
|
||||
<option value=""></option>
|
||||
{% for phm in bio.phm_models %}
|
||||
<option value="{{phm['mkr_cd']}}">
|
||||
{{phm['mkr_cd_name']}}
|
||||
<option value="{{phm['prod_pkg_cd']}}">
|
||||
{{phm['prod_pkg_cd_name']}}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
@ -98,19 +98,17 @@
|
||||
<tr>
|
||||
<td>発伝年月日:</td>
|
||||
<td colspan="3">
|
||||
<input type="text" id="hsdnymd_start" class="date_picker" name="ctrl_rev_hsdnymd_srk_from" maxlength="10"
|
||||
<input type="text" id="hsdnymd_start" class="date_picker" name="ctrl_cnvs_sales_dt_from" maxlength="10"
|
||||
value=""
|
||||
onchange="formBtDisabled();applySearchParam(this)"
|
||||
>
|
||||
~
|
||||
<input type="text" id="hsdnymd_end" class="date_picker" name="ctrl_rev_hsdnymd_srk_to" maxlength="10"
|
||||
<input type="text" id="hsdnymd_end" class="date_picker" name="ctrl_cnvs_sales_dt_to" maxlength="10"
|
||||
value=""
|
||||
onchange="formBtDisabled();applySearchParam(this)"
|
||||
>
|
||||
</td>
|
||||
<td colspan="2">
|
||||
<input type="checkbox" id="ikoFlg" name="ikoFlg" value="true" oninput="applySearchParam(this)">
|
||||
<label for="ikoFlg">2017年11月以前のデータを含める</label>
|
||||
</td>
|
||||
<td>
|
||||
<input class="buttonSize" id="clear" type="button" name="clear_bt" value="クリア" onclick="clr();clearHidden('bioSearchHidden')">
|
||||
@ -133,8 +131,9 @@
|
||||
<table class="tablesorter search_longtextbox" _fixedhead='rows:1; cols:0;'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>データ種別</th>
|
||||
<th>伝票管理NO</th>
|
||||
<th>連携種別</th>
|
||||
<th>計上年月</th>
|
||||
<th>管理番号</th>
|
||||
<th>処理日</th>
|
||||
<th>卸コード</th>
|
||||
<th>卸サブコード</th>
|
||||
@ -147,29 +146,21 @@
|
||||
<th>製品コード</th>
|
||||
<th>統一商品コード</th>
|
||||
<th>商品名</th>
|
||||
<th>卸報告商品名</th>
|
||||
<th>納入先コード</th>
|
||||
<th>納入先名</th>
|
||||
<th>卸報告納入先名</th>
|
||||
<th>納入先住所</th>
|
||||
<th>卸報告納入先住所</th>
|
||||
<th>ロット番号</th>
|
||||
<th>数量</th>
|
||||
<th>有効期限</th>
|
||||
<th>データ区分</th>
|
||||
<th>エラー詳細種別</th>
|
||||
<th>訂正前伝票管理NO</th>
|
||||
<th>修正者</th>
|
||||
<th>修正日時</th>
|
||||
<th>施設コード</th>
|
||||
<th>施設名</th>
|
||||
<th>施設住所</th>
|
||||
<th>施設電話番号</th>
|
||||
<th>Veeva卸コード</th>
|
||||
<th>Veeva卸組織コード</th>
|
||||
<th>卸組織名</th>
|
||||
<th>Veeva取引区分コード</th>
|
||||
<th>2017年11月以前データ</th>
|
||||
<th>tebra卸コード</th>
|
||||
<th>tebraデポコード</th>
|
||||
<th>デポ名</th>
|
||||
<th>tebra取引区分コード</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="result_data" class="result_data"></tbody>
|
||||
@ -180,26 +171,24 @@
|
||||
<form id="search_param_hidden" name="bioSearchHidden">
|
||||
<input type="hidden" name="ctrl_wholesaler" value="">
|
||||
<input type="hidden" name="ctrl_org_kbn" value="">
|
||||
<input type="hidden" name="ctrl_rec_ymd_from" value="">
|
||||
<input type="hidden" name="ctrl_rec_ymd_to" value="">
|
||||
<input type="hidden" name="ctrl_rec_lot_num" value="">
|
||||
<input type="hidden" name="ctrl_data_kbn" value="">
|
||||
<input type="hidden" name="ctrl_load_dt_from" value="">
|
||||
<input type="hidden" name="ctrl_load_dt_to" value="">
|
||||
<input type="hidden" name="ctrl_cnvs_lot_no" value="">
|
||||
<input type="hidden" name="ctrl_result_cd" value="">
|
||||
<input type="hidden" name="ctrl_maker_cd" value="">
|
||||
<input type="hidden" name="ctrl_rev_hsdnymd_srk_from" value="">
|
||||
<input type="hidden" name="ctrl_rev_hsdnymd_srk_to" value="">
|
||||
<input type="checkbox" name="ikoFlg" value="true" style="display: none;">
|
||||
<input type="hidden" name="ctrl_cnvs_sales_dt_from" value="">
|
||||
<input type="hidden" name="ctrl_cnvs_sales_dt_to" value="">
|
||||
</form>
|
||||
<form id="download_hidden" name="bioDownloadHidden">
|
||||
<input type="hidden" name="ctrl_wholesaler" value="">
|
||||
<input type="hidden" name="ctrl_org_kbn" value="">
|
||||
<input type="hidden" name="ctrl_rec_ymd_from" value="">
|
||||
<input type="hidden" name="ctrl_rec_ymd_to" value="">
|
||||
<input type="hidden" name="ctrl_rec_lot_num" value="">
|
||||
<input type="hidden" name="ctrl_data_kbn" value="">
|
||||
<input type="hidden" name="ctrl_load_dt_from" value="">
|
||||
<input type="hidden" name="ctrl_load_dt_to" value="">
|
||||
<input type="hidden" name="ctrl_cnvs_lot_no" value="">
|
||||
<input type="hidden" name="ctrl_result_cd" value="">
|
||||
<input type="hidden" name="ctrl_maker_cd" value="">
|
||||
<input type="hidden" name="ctrl_rev_hsdnymd_srk_from" value="">
|
||||
<input type="hidden" name="ctrl_rev_hsdnymd_srk_to" value="">
|
||||
<input type="checkbox" name="ikoFlg" value="true" style="display: none;">
|
||||
<input type="hidden" name="ctrl_cnvs_sales_dt_from" value="">
|
||||
<input type="hidden" name="ctrl_cnvs_sales_dt_to" value="">
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
@ -422,43 +411,36 @@
|
||||
|
||||
function pagination_content(datas) {
|
||||
const display_keys = [
|
||||
'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',
|
||||
'v_whs_cd',
|
||||
'v_whsorg_cd',
|
||||
'whs_org_name',
|
||||
'v_tran_cd',
|
||||
'iko_flg',
|
||||
'cnvs_whlslr_cd',
|
||||
'cnvs_depo_cd',
|
||||
'cls_depo_nm',
|
||||
'cnvs_deal_div_cd',
|
||||
];
|
||||
return datas.map(function (data) {
|
||||
const td = display_keys.map((key) =>{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user