diff --git a/ecs/jskult-webapp/src/controller/master_mainte.py b/ecs/jskult-webapp/src/controller/master_mainte.py index e9d4ed14..4d130864 100644 --- a/ecs/jskult-webapp/src/controller/master_mainte.py +++ b/ecs/jskult-webapp/src/controller/master_mainte.py @@ -199,7 +199,7 @@ def new_inst_result_view( return templates_response -@ router.get('/instEmpCsvDL', response_class=HTMLResponse) +@router.get('/instEmpCsvDL', response_class=HTMLResponse) def inst_emp_csv_download_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) diff --git a/ecs/jskult-webapp/src/model/request/master_mainte_csvdl.py b/ecs/jskult-webapp/src/model/request/master_mainte_csvdl.py index 4155fa73..adcb7b68 100644 --- a/ecs/jskult-webapp/src/model/request/master_mainte_csvdl.py +++ b/ecs/jskult-webapp/src/model/request/master_mainte_csvdl.py @@ -2,20 +2,22 @@ from typing import Optional from fastapi import Form -from src.util.sanitize import sanitize - from src.model.request.request_base_model import RequestBaseModel +from src.util.sanitize import sanitize from src.util.string_util import is_not_empty @sanitize class MasterMainteCsvDlModel(RequestBaseModel): + # adaptは検索に使用するようの値 ta_cd: Optional[str] adapt_ta_cd: Optional[str] inst_cd: Optional[str] adapt_inst_cd: Optional[str] emp_cd: Optional[str] adapt_emp_cd: Optional[str] + emp_chg_type_cd: Optional[str] + adapt_emp_chg_type_cd: Optional[str] apply_date_from: Optional[str] adapt_apply_date_from: Optional[str] start_date_from: Optional[str] @@ -42,6 +44,7 @@ class MasterMainteCsvDlModel(RequestBaseModel): ctrl_ta_cd: Optional[str] = Form(None), ctrl_inst_cd: Optional[str] = Form(None), ctrl_emp_cd: Optional[str] = Form(None), + ctrl_emp_chg_type_cd: Optional[str] = Form(None), ctrl_apply_date_from: Optional[str] = Form(None), ctrl_start_date_from: Optional[str] = Form(None), ctrl_start_date_to: Optional[str] = Form(None), @@ -58,6 +61,7 @@ class MasterMainteCsvDlModel(RequestBaseModel): ctrl_ta_cd, ctrl_inst_cd, ctrl_emp_cd, + ctrl_emp_chg_type_cd, ctrl_apply_date_from, ctrl_start_date_from, ctrl_start_date_to, @@ -75,6 +79,7 @@ class MasterMainteCsvDlModel(RequestBaseModel): ctrl_ta_cd: str, ctrl_inst_cd: str, ctrl_emp_cd: str, + ctrl_emp_chg_type_cd, ctrl_apply_date_from: str, ctrl_start_date_from: str, ctrl_start_date_to: str, @@ -89,6 +94,7 @@ class MasterMainteCsvDlModel(RequestBaseModel): ctrl_ta_cd = ctrl_ta_cd if is_not_empty(ctrl_ta_cd) else '' ctrl_inst_cd = ctrl_inst_cd if is_not_empty(ctrl_inst_cd) else '' ctrl_emp_cd = ctrl_emp_cd if is_not_empty(ctrl_emp_cd) else '' + ctrl_emp_chg_type_cd = ctrl_emp_chg_type_cd if is_not_empty(ctrl_emp_chg_type_cd) else '' adapt_apply_date_from = '' if is_not_empty(ctrl_apply_date_from): @@ -147,6 +153,8 @@ class MasterMainteCsvDlModel(RequestBaseModel): adapt_inst_cd=ctrl_inst_cd, emp_cd=ctrl_emp_cd, adapt_emp_cd=ctrl_emp_cd, + emp_chg_type_cd=ctrl_emp_chg_type_cd, + adapt_emp_chg_type_cd=ctrl_emp_chg_type_cd, apply_date_from=ctrl_apply_date_from, adapt_apply_date_from=adapt_apply_date_from, start_date_from=ctrl_start_date_from, diff --git a/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py b/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py index d91be694..463a1cd6 100644 --- a/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py +++ b/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py @@ -1,10 +1,10 @@ -from src.repositories.base_repository import BaseRepository -from src.db.sql_condition import SQLCondition 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.master_mente_count import MasterMenteCountModel from src.model.request.master_mainte_csvdl import MasterMainteCsvDlModel +from src.repositories.base_repository import BaseRepository from src.util.string_util import is_not_empty -from src.logging.get_logger import get_logger logger = get_logger('従業員担当施設マスタ') @@ -157,6 +157,7 @@ class EmpChgInstRepository(BaseRepository): eci.inst_cd AS inst_cd, mi.inst_name AS inst_name, eci.ta_cd AS ta_cd, + eci.emp_chg_type_cd AS emp_chg_type_cd, eci.emp_cd AS emp_cd, CONCAT(emp.emp_name_family, " ", emp.emp_name_first) AS emp_name_full, eci.bu_cd AS bu_cd, @@ -212,6 +213,11 @@ class EmpChgInstRepository(BaseRepository): parameter.adapt_emp_cd = f'%{parameter.emp_cd}%' where_clauses.append(SQLCondition('eci.emp_cd', condition.LIKE, 'adapt_emp_cd')) + # 担当者種別コードが入力されていた場合 + if is_not_empty(parameter.emp_chg_type_cd): + parameter.adapt_emp_chg_type_cd = f'%{parameter.emp_chg_type_cd}%' + where_clauses.append(SQLCondition('eci.emp_chg_type_cd', condition.LIKE, 'adapt_emp_chg_type_cd')) + # 適用期間内が入力されていた場合 if is_not_empty(parameter.adapt_apply_date_from): where_clauses.append(SQLCondition('eci.start_date', condition.LE, 'adapt_apply_date_from')) diff --git a/ecs/jskult-webapp/src/system_var/constants.py b/ecs/jskult-webapp/src/system_var/constants.py index 3756facb..e3738179 100644 --- a/ecs/jskult-webapp/src/system_var/constants.py +++ b/ecs/jskult-webapp/src/system_var/constants.py @@ -162,6 +162,7 @@ MENTE_CSV_DOWNLOAD_EXTRACT_COLUMNS = [ 'inst_cd', 'inst_name', 'ta_cd', + 'emp_chg_type_cd', 'emp_cd', 'emp_name_full', 'bu_cd', @@ -178,6 +179,7 @@ MENTE_CSV_DOWNLOAD_HEADER = [ '施設コード', '施設名', '領域コード', + '担当者種別コード', 'MUID', '担当者名', 'ビジネスユニットコード', diff --git a/ecs/jskult-webapp/src/templates/instEmpCsvDL.html b/ecs/jskult-webapp/src/templates/instEmpCsvDL.html index 93ecf332..b0b50fe8 100644 --- a/ecs/jskult-webapp/src/templates/instEmpCsvDL.html +++ b/ecs/jskult-webapp/src/templates/instEmpCsvDL.html @@ -81,6 +81,17 @@ + + + 担当者種別コード: + + + + + 適用期間内: @@ -117,7 +128,7 @@ > - + 対象テーブル: @@ -160,7 +171,7 @@ > - +