指摘事項修正2

This commit is contained in:
野間 2023-06-16 18:12:28 +09:00
parent abe13984a2
commit f261cda65b
18 changed files with 239 additions and 391 deletions

View File

@ -22,6 +22,6 @@ AWS_REGION=ap-northeast-1
AUTHORIZE_ENDPOINT=oauth2/authorize AUTHORIZE_ENDPOINT=oauth2/authorize
TOKEN_ENDPOINT=oauth2/token TOKEN_ENDPOINT=oauth2/token
BIO_SEARCH_RESULT_MAX_COUNT=35000 BIO_SEARCH_RESULT_MAX_COUNT=35000
UTL_SEARCH_RESULT_MAX_COUNT=500 ULTMARC_SEARCH_RESULT_MAX_COUNT=500
SESSION_EXPIRE_MINUTE=20 SESSION_EXPIRE_MINUTE=20
LOG_LEVEL=DEBUG LOG_LEVEL=DEBUG

View File

@ -4,10 +4,10 @@ from fastapi import APIRouter, Depends, Request
from src.depends.services import get_service from src.depends.services import get_service
from src.model.internal.session import UserSession from src.model.internal.session import UserSession
from src.model.request.ultmarc_doctor import (UltmarcDoctorInfoModel, from src.model.request.ultmarc_doctor import (
UltmarcDoctorSearchModel) UltmarcDoctorInfoModel, UltmarcDoctorSearchModel)
from src.model.request.ultmarc_inst import (UltmarcInstInfoModel, from src.model.request.ultmarc_inst import (UltmarcInstInfoModel,
UltmarcInstModel) UltmarcInstSearchModel)
from src.router.session_router import AuthenticatedRoute from src.router.session_router import AuthenticatedRoute
from src.services.batch_status_service import BatchStatusService from src.services.batch_status_service import BatchStatusService
from src.services.session_service import set_session from src.services.session_service import set_session
@ -21,6 +21,10 @@ router.route_class = AuthenticatedRoute
# Views # # Views #
######################### #########################
#########################
# アルトマーク施設検索 #
#########################
@router.get('/instSearch') @router.get('/instSearch')
def ultmarc_inst_view( def ultmarc_inst_view(
@ -33,7 +37,7 @@ def ultmarc_inst_view(
is_batch_processing = batch_status_service.is_batch_processing() is_batch_processing = batch_status_service.is_batch_processing()
# 検索項目の取得(都道府県・施設区分) # 検索項目の取得(都道府県・施設区分)
ultmarc = ultmarc_service.ultmarc_inst_view(session) ultmarc = ultmarc_service.prepare_ultmarc_inst_search_view()
ultmarc.is_batch_processing = is_batch_processing ultmarc.is_batch_processing = is_batch_processing
# セッション書き換え # セッション書き換え
@ -57,7 +61,7 @@ def ultmarc_inst_view(
@router.post('/instSearch') @router.post('/instSearch')
def search_inst( def search_inst(
request: Request, request: Request,
ultmarc_inst_form: Optional[UltmarcInstModel] = Depends(UltmarcInstModel.as_form), ultmarc_inst_form: Optional[UltmarcInstSearchModel] = Depends(UltmarcInstSearchModel.as_form),
ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)),
batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService))
): ):
@ -70,7 +74,7 @@ def search_inst(
ultmarc_inst_data = ultmarc_service.search_inst_data(ultmarc_inst_form) ultmarc_inst_data = ultmarc_service.search_inst_data(ultmarc_inst_form)
# 検索項目の取得(都道府県・施設区分) # 検索項目の取得(都道府県・施設区分)
ultmarc = ultmarc_service.ultmarc_inst_view(session) ultmarc = ultmarc_service.prepare_ultmarc_inst_search_view()
ultmarc.is_batch_processing = is_batch_processing ultmarc.is_batch_processing = is_batch_processing
ultmarc.inst_data = ultmarc_inst_data ultmarc.inst_data = ultmarc_inst_data
ultmarc.form_data = ultmarc_inst_form ultmarc.form_data = ultmarc_inst_form
@ -92,6 +96,10 @@ def search_inst(
) )
return templates_response return templates_response
#########################
# アルトマーク施設詳細 #
#########################
@router.get('/instInfo') @router.get('/instInfo')
def ultmarc_inst_info_view( def ultmarc_inst_info_view(
@ -105,8 +113,8 @@ def ultmarc_inst_info_view(
is_batch_processing = batch_status_service.is_batch_processing() is_batch_processing = batch_status_service.is_batch_processing()
# 施設情報の取得 # 施設情報の取得
ultmarc = ultmarc_service.info_ultmarc_inst_view(id, session) ultmarc = ultmarc_service.prepare_ultmarc_inst_info_view(id)
# バッチ起動判定の取得 # バッチ起動判定
ultmarc.is_batch_processing = is_batch_processing ultmarc.is_batch_processing = is_batch_processing
# inst_id # inst_id
ultmarc.inst_id = id ultmarc.inst_id = id
@ -133,7 +141,7 @@ def ultmarc_inst_info_view(
return templates_response return templates_response
@router.post('/instInfo') @ router.post('/instInfo')
def ultmarc_inst_info_search( def ultmarc_inst_info_search(
request: Request, request: Request,
ultmarc_inst_form: Optional[UltmarcInstInfoModel] = Depends(UltmarcInstInfoModel.as_form), ultmarc_inst_form: Optional[UltmarcInstInfoModel] = Depends(UltmarcInstInfoModel.as_form),
@ -147,7 +155,7 @@ def ultmarc_inst_info_search(
inst_id = ultmarc_inst_form.inst_id.split(',') inst_id = ultmarc_inst_form.inst_id.split(',')
# 施設情報の取得 # 施設情報の取得
ultmarc = ultmarc_service.info_ultmarc_inst_view(inst_id[ultmarc_inst_form.page_num], session) ultmarc = ultmarc_service.prepare_ultmarc_inst_info_view(inst_id[ultmarc_inst_form.page_num])
# バッチ起動判定の取得 # バッチ起動判定の取得
ultmarc.is_batch_processing = is_batch_processing ultmarc.is_batch_processing = is_batch_processing
@ -175,6 +183,10 @@ def ultmarc_inst_info_search(
) )
return templates_response return templates_response
#########################
# アルトマーク医師検索 #
#########################
@router.get('/docSearch') @router.get('/docSearch')
def ultmarc_doctor_view( def ultmarc_doctor_view(
@ -187,7 +199,7 @@ def ultmarc_doctor_view(
is_batch_processing = batch_status_service.is_batch_processing() is_batch_processing = batch_status_service.is_batch_processing()
# 検索項目の取得(都道府県) # 検索項目の取得(都道府県)
ultmarc = ultmarc_service.prepare_ultmarc_doctor_view(session) ultmarc = ultmarc_service.prepare_ultmarc_doctor_search_view()
ultmarc.is_batch_processing = is_batch_processing ultmarc.is_batch_processing = is_batch_processing
# セッション書き換え # セッション書き換え
@ -218,14 +230,14 @@ def search_doc(
session: UserSession = request.session session: UserSession = request.session
# バッチ処理中ステータスを取得 # バッチ処理中ステータスを取得
# is_batch_processing = batch_status_service.is_batch_processing() is_batch_processing = batch_status_service.is_batch_processing()
# 医師データを検索 # 医師データを検索
ultmarc_doctor_data = ultmarc_service.search_doctor_data(ultmarc_doctor_form) ultmarc_doctor_data = ultmarc_service.search_doctor_data(ultmarc_doctor_form)
# 検索項目などのデータを取得 # 検索項目などのデータを取得
ultmarc = ultmarc_service.prepare_ultmarc_doctor_view(session) ultmarc = ultmarc_service.prepare_ultmarc_doctor_search_view()
ultmarc.is_batch_processing = batch_status_service.is_batch_processing() ultmarc.is_batch_processing = is_batch_processing
ultmarc.doctor_data = ultmarc_doctor_data ultmarc.doctor_data = ultmarc_doctor_data
ultmarc.form_data = ultmarc_doctor_form ultmarc.form_data = ultmarc_doctor_form
@ -246,6 +258,10 @@ def search_doc(
) )
return templates_response return templates_response
#########################
# アルトマーク医師詳細 #
#########################
@router.get('/docInfo') @router.get('/docInfo')
def ultmarc_doctor_info_view( def ultmarc_doctor_info_view(
@ -259,7 +275,7 @@ def ultmarc_doctor_info_view(
is_batch_processing = batch_status_service.is_batch_processing() is_batch_processing = batch_status_service.is_batch_processing()
# 医師情報の取得 # 医師情報の取得
ultmarc = ultmarc_service.info_ultmarc_doctor_view(id, session) ultmarc = ultmarc_service.prepare_ultmarc_doctor_info_view(id)
# バッチ起動判定の取得 # バッチ起動判定の取得
ultmarc.is_batch_processing = is_batch_processing ultmarc.is_batch_processing = is_batch_processing
# doc_id # doc_id
@ -301,7 +317,7 @@ def ultmarc_doctor_info_search(
doc_id = ultmarc_doctor_form.doc_id.split(',') doc_id = ultmarc_doctor_form.doc_id.split(',')
# 医師情報の取得 # 医師情報の取得
ultmarc = ultmarc_service.info_ultmarc_doctor_view(doc_id[ultmarc_doctor_form.page_num], session) ultmarc = ultmarc_service.prepare_ultmarc_doctor_info_view(doc_id[ultmarc_doctor_form.page_num])
# バッチ起動判定の取得 # バッチ起動判定の取得
ultmarc.is_batch_processing = is_batch_processing ultmarc.is_batch_processing = is_batch_processing
# doc_id # doc_id

View File

@ -19,6 +19,7 @@ class UltmarcDoctorSearchModel(BaseModel):
trt_course_name: Optional[str] trt_course_name: Optional[str]
alma: Optional[str] alma: Optional[str]
grad_y: Optional[str] grad_y: Optional[str]
pagination_pageNumber: Optional[int]
@classmethod @classmethod
def as_form( def as_form(
@ -33,7 +34,8 @@ class UltmarcDoctorSearchModel(BaseModel):
ctrl_blng_sec_name: str = Form(None), ctrl_blng_sec_name: str = Form(None),
ctrl_trt_course_name: str = Form(None), ctrl_trt_course_name: str = Form(None),
ctrl_alma: str = Form(None), ctrl_alma: str = Form(None),
ctrl_grad_y: str = Form(None) ctrl_grad_y: str = Form(None),
pagination_pageNumber: str = Form(None)
): ):
return cls( return cls(
@ -47,7 +49,8 @@ class UltmarcDoctorSearchModel(BaseModel):
blng_sec_name=ctrl_blng_sec_name, blng_sec_name=ctrl_blng_sec_name,
trt_course_name=ctrl_trt_course_name, trt_course_name=ctrl_trt_course_name,
alma=ctrl_alma, alma=ctrl_alma,
grad_y=ctrl_grad_y grad_y=ctrl_grad_y,
pagination_pageNumber=pagination_pageNumber
) )

View File

@ -7,7 +7,7 @@ from src.util.sanitize import sanitize
@sanitize @sanitize
class UltmarcInstModel(BaseModel): class UltmarcInstSearchModel(BaseModel):
dcf_dsf_inst_cd: Optional[str] dcf_dsf_inst_cd: Optional[str]
inst_div_cd: Optional[str] inst_div_cd: Optional[str]
form_inst_name_kanji: Optional[str] form_inst_name_kanji: Optional[str]
@ -17,6 +17,7 @@ class UltmarcInstModel(BaseModel):
prefc_cd: Optional[str] prefc_cd: Optional[str]
delFlg: Optional[str] delFlg: Optional[str]
inst_addr: Optional[str] inst_addr: Optional[str]
pagination_pageNumber: Optional[int]
@classmethod @classmethod
def as_form( def as_form(
@ -29,7 +30,8 @@ class UltmarcInstModel(BaseModel):
ctrl_inst_phone_number: str = Form(None), ctrl_inst_phone_number: str = Form(None),
ctrl_prefc_cd: str = Form(None), ctrl_prefc_cd: str = Form(None),
delFlg_ctrl: str = Form(None), delFlg_ctrl: str = Form(None),
ctrl_inst_addr: str = Form(None) ctrl_inst_addr: str = Form(None),
pagination_pageNumber: str = Form(None)
): ):
return cls( return cls(
dcf_dsf_inst_cd=ctrl_dcf_dsf_inst_cd, dcf_dsf_inst_cd=ctrl_dcf_dsf_inst_cd,
@ -40,7 +42,8 @@ class UltmarcInstModel(BaseModel):
inst_phone_number=ctrl_inst_phone_number, inst_phone_number=ctrl_inst_phone_number,
prefc_cd=ctrl_prefc_cd, prefc_cd=ctrl_prefc_cd,
delFlg=delFlg_ctrl, delFlg=delFlg_ctrl,
inst_addr=ctrl_inst_addr inst_addr=ctrl_inst_addr,
pagination_pageNumber=pagination_pageNumber
) )

View File

@ -127,7 +127,7 @@ class BioViewModel(BaseModel):
return len(self.bio_data) == 0 return len(self.bio_data) == 0
def is_data_overflow_max_length(self): def is_data_overflow_max_length(self):
return len(self.bio_data) >= environment.BIO_SEARCH_RESULT_MAX_COUNT return len(self.bio_data) > environment.BIO_SEARCH_RESULT_MAX_COUNT
def _format_date_string(self, date_string): def _format_date_string(self, date_string):
if date_string is None: if date_string is None:

View File

@ -27,42 +27,6 @@ class UltmarcDoctorInfoViewModel(BaseModel):
post_cnt: Optional[int] post_cnt: Optional[int]
page_num: Optional[int] page_num: Optional[int]
# 医師コード
def is_input_dcf_pcf_dr_cd(self):
return self.doctor_info_data.dcf_pcf_dr_cd or ''
# 氏名(漢字)
def is_input_dr_name(self):
return self.doctor_info_data.dr_name or ''
# 氏名(かな・カナ)
def is_input_dr_name_kana(self):
return self.doctor_info_data.dr_name_kana or ''
# 性別
def is_input_sex(self):
return self.doctor_info_data.sex or ''
# 出身大学
def is_input_alma(self):
return self.doctor_info_data.alma or ''
# 出身県
def is_input_hometown(self):
return self.doctor_info_data.hometown or ''
# 卒年
def is_input_grad_y(self):
return self.doctor_info_data.grad_y or ''
# 登録年
def is_input_drday_y(self):
return self.doctor_info_data.drday_y or ''
# 開業年
def is_input_estab_y(self):
return self.doctor_info_data.estab_y or ''
# 現在のページ(表示用) # 現在のページ(表示用)
def is_page_num_view(self): def is_page_num_view(self):
return self.page_num + 1 return self.page_num + 1
@ -77,6 +41,7 @@ class UltmarcDoctorInfoViewModel(BaseModel):
return 'disabled' return 'disabled'
return '' return ''
# 生年月日
def is_input_birthday_fromat(self): def is_input_birthday_fromat(self):
return self._format_date_string(self.doctor_info_data.birthday) return self._format_date_string(self.doctor_info_data.birthday)
@ -88,9 +53,6 @@ class UltmarcDoctorInfoViewModel(BaseModel):
def is_input_trt_course_data_size(self): def is_input_trt_course_data_size(self):
return len(self.trt_coursed_data) return len(self.trt_coursed_data)
def is_data_string_empty_fromat(self, data_string):
return data_string or ''
def disabled_button(self): def disabled_button(self):
return 'disabled' if self.is_data_empty() or self.is_data_overflow_max_length() else '' return 'disabled' if self.is_data_empty() or self.is_data_overflow_max_length() else ''
@ -101,7 +63,7 @@ class UltmarcDoctorInfoViewModel(BaseModel):
return len(self.doctor_data) == 0 return len(self.doctor_data) == 0
def is_data_overflow_max_length(self): def is_data_overflow_max_length(self):
return len(self.doctor_data) >= environment.UTL_SEARCH_RESULT_MAX_COUNT return len(self.doctor_data) > environment.ULTMARC_SEARCH_RESULT_MAX_COUNT
def _format_date_string(self, date_string): def _format_date_string(self, date_string):
if date_string is None: if date_string is None:

View File

@ -21,6 +21,12 @@ class UltmarcDoctorViewModel(BaseModel):
return obj.isoformat() if hasattr(obj, 'isoformat') else obj return obj.isoformat() if hasattr(obj, 'isoformat') else obj
return json.dumps([model.dict() for model in self.doctor_data], ensure_ascii=False, default=date_handler) return json.dumps([model.dict() for model in self.doctor_data], ensure_ascii=False, default=date_handler)
# ページネーションのページ番号
def is_input_pagination_pageNumber(self):
if not self.is_form_submitted():
return 1
return self.form_data.pagination_pageNumber or 1
# 医師コード # 医師コード
def is_input_dcf_pcf_dr_cd(self): def is_input_dcf_pcf_dr_cd(self):
if not self.is_form_submitted(): if not self.is_form_submitted():
@ -102,7 +108,7 @@ class UltmarcDoctorViewModel(BaseModel):
return len(self.doctor_data) == 0 return len(self.doctor_data) == 0
def is_data_overflow_max_length(self): def is_data_overflow_max_length(self):
return len(self.doctor_data) >= environment.UTL_SEARCH_RESULT_MAX_COUNT return len(self.doctor_data) > environment.ULTMARC_SEARCH_RESULT_MAX_COUNT
def _selected_value(self, form_value: str, current_value: str): def _selected_value(self, form_value: str, current_value: str):
return 'selected' if form_value == current_value else '' return 'selected' if form_value == current_value else ''

View File

@ -17,171 +17,30 @@ class UltmarcInstInfoViewModel(BaseModel):
post_cnt: Optional[int] post_cnt: Optional[int]
page_num: Optional[int] page_num: Optional[int]
# 施設コード
def is_input_dcf_dsf_inst_cd(self):
return self.inst_info_data.dcf_dsf_inst_cd or ''
# 未確認 # 未確認
def is_checked_unconf_flg(self): def is_checked_unconf_flg(self):
return 'checked' if self.inst_info_data.unconf_flg == '1' else '' return 'checked' if self.inst_info_data.unconf_flg == '1' else ''
# 施設コード変換先
def is_input_dup_opp_cd(self):
return self.inst_info_data.dup_opp_cd or ''
# 休院店開始年月
def is_input_close_start_ym(self):
return self.inst_info_data.close_start_ym or ''
# 休院店 # 休院店
def is_checked_close_flg(self): def is_checked_close_flg(self):
return 'checked' if self.inst_info_data.close_flg == '1' else '' return 'checked' if self.inst_info_data.close_flg == '1' else ''
# 削除予定理由
def is_input_delete_sche_reason_cd(self):
return self.inst_info_data.delete_sche_reason_cd or ''
def is_input_delete_sche_reason(self):
return self.inst_info_data.delete_sche_reason or ''
# 削除日
def is_input_abolish_ymd(self):
return self.inst_info_data.abolish_ymd or ''
# 開業予定年月
def is_input_estab_sche_ym(self):
return self.inst_info_data.estab_sche_ym or ''
# 開業 # 開業
def is_checked_estab_sche_flg(self): def is_checked_estab_sche_flg(self):
return 'checked' if self.inst_info_data.estab_sche_flg == '1' else '' return 'checked' if self.inst_info_data.estab_sche_flg == '1' else ''
# 正式施設名(カナ)
def is_input_form_inst_name_kana(self):
return self.inst_info_data.form_inst_name_kana or ''
# 正式施設名(漢字)
def is_input_form_inst_name_kanji(self):
return self.inst_info_data.form_inst_name_kanji or ''
# 略式施設名(カナ)
def is_input_inst_name_kana(self):
return self.inst_info_data.inst_name_kana or ''
# 施設区分名
def is_input_inst_div_name(self):
return self.inst_info_data.inst_div_name or ''
# 略式施設名(漢字)
def is_input_inst_name_kanji(self):
return self.inst_info_data.inst_name_kanji or ''
# 経営体
def is_input_manage_cd(self):
return self.inst_info_data.manage_cd or ''
def is_input_manage_name(self):
return self.inst_info_data.manage_name or ''
# 郵便番号
def is_input_postal_number(self):
return self.inst_info_data.postal_number or ''
# 住所不明 # 住所不明
def is_checked_addr_unknown_reason_cd(self): def is_checked_addr_unknown_reason_cd(self):
return 'checked' if self.inst_info_data.addr_unknown_reason_cd else '' return 'checked' if self.inst_info_data.addr_unknown_reason_cd else ''
# 施設電話番号
def is_input_inst_phone_number(self):
return self.inst_info_data.inst_phone_number or ''
# 開業 # 開業
def is_checked_phone_number_non_flg(self): def is_checked_phone_number_non_flg(self):
return 'checked' if self.inst_info_data.phone_number_non_flg == '1' else '' return 'checked' if self.inst_info_data.phone_number_non_flg == '1' else ''
# 住所(カナ)
def is_input_inst_addr_kana(self):
return self.inst_info_data.inst_addr_kana or ''
# 住所(漢字)
def is_input_inst_addr(self):
return self.inst_info_data.inst_addr or ''
# 病院種別
def is_input_hp_assrt_name(self):
return self.inst_info_data.hp_assrt_name or ''
# 再審査区分 # 再審査区分
def is_checked_re_exam_cd(self): def is_checked_re_exam_cd(self):
return 'checked' if self.inst_info_data.re_exam_cd else '' return 'checked' if self.inst_info_data.re_exam_cd else ''
# 関連大学親名
def is_input_rltd_univ_prnt_cd(self):
return self.inst_info_data.rltd_univ_prnt_cd or ''
def is_input_parent_name(self):
return self.inst_info_data.parent_name or ''
# 微生物
def is_input_insp_item_micrb(self):
return self.inst_info_data.insp_item_micrb or ''
# 血清
def is_input_insp_item_serum(self):
return self.inst_info_data.insp_item_serum or ''
# 血液
def is_input_insp_item_blood(self):
return self.inst_info_data.insp_item_blood or ''
# 病理
def is_input_insp_item_patho(self):
return self.inst_info_data.insp_item_patho or ''
# 寄生虫
def is_input_insp_item_paras(self):
return self.inst_info_data.insp_item_paras or ''
# 生化
def is_input_insp_item_biochem(self):
return self.inst_info_data.insp_item_biochem or ''
# RI
def is_input_insp_item_ri(self):
return self.inst_info_data.insp_item_ri or ''
# 特務医務室
def is_input_dcf_prnt_inst_cd(self):
return self.inst_info_data.dcf_prnt_inst_cd or ''
# 一般
def is_input_prmit_bed_num_gen(self):
return self.inst_info_data.prmit_bed_num_gen or ''
# 療養
def is_input_prmit_bed_num_rcup(self):
return self.inst_info_data.prmit_bed_num_rcup or ''
# 精神
def is_input_prmit_bed_num_mental(self):
return self.inst_info_data.prmit_bed_num_mental or ''
# 感染症
def is_input_prmit_bed_num_infection(self):
return self.inst_info_data.prmit_bed_num_infection or ''
# 結核
def is_input_prmit_bed_num_tuber(self):
return self.inst_info_data.prmit_bed_num_tuber or ''
# その他
def is_input_prmit_bed_num_other(self):
return self.inst_info_data.prmit_bed_num_other or ''
# 合計
def is_input_prmit_bed_num_sum(self):
return self.inst_info_data.prmit_bed_num_sum or ''
# 病棟閉鎖   # 病棟閉鎖  
def is_checked_ward_abolish_flg(self): def is_checked_ward_abolish_flg(self):
return 'checked' if self.inst_info_data.ward_abolish_flg == '1' else '' return 'checked' if self.inst_info_data.ward_abolish_flg == '1' else ''
@ -190,26 +49,6 @@ class UltmarcInstInfoViewModel(BaseModel):
def is_checked_ward_abolish_flg_part(self): def is_checked_ward_abolish_flg_part(self):
return 'checked' if self.inst_info_data.ward_abolish_flg == '2' else '' return 'checked' if self.inst_info_data.ward_abolish_flg == '2' else ''
# 病床数(定員)
def is_input_bed_num(self):
return self.inst_info_data.bed_num or ''
# メンテ年月日
def is_input_prmit_bed_maint_ymd(self):
return self.inst_info_data.prmit_bed_maint_ymd or ''
# 代表者個人コード
def is_input_inst_repre_cd(self):
return self.inst_info_data.inst_repre_cd or ''
# 施設代表者(カナ)
def is_input_inst_repre_kana(self):
return self.inst_info_data.inst_repre_kana or ''
# 施設代表者(漢字)
def is_input_inst_repre(self):
return self.inst_info_data.inst_repre or ''
# 修正年月日 # 修正年月日
def is_input_sys_update_date(self): def is_input_sys_update_date(self):
sys_update_date = str(self.inst_info_data.sys_update_date) sys_update_date = str(self.inst_info_data.sys_update_date)
@ -239,9 +78,6 @@ class UltmarcInstInfoViewModel(BaseModel):
return 0 return 0
return len(self.inst_trt_coursed_data) return len(self.inst_trt_coursed_data)
def is_data_string_empty_fromat(self, data_string):
return data_string or ''
def disabled_button(self): def disabled_button(self):
return 'disabled' if self.is_data_empty() or self.is_data_overflow_max_length() else '' return 'disabled' if self.is_data_empty() or self.is_data_overflow_max_length() else ''
@ -252,4 +88,4 @@ class UltmarcInstInfoViewModel(BaseModel):
return len(self.doctor_data) == 0 return len(self.doctor_data) == 0
def is_data_overflow_max_length(self): def is_data_overflow_max_length(self):
return len(self.doctor_data) >= environment.UTL_SEARCH_RESULT_MAX_COUNT return len(self.doctor_data) > environment.ULTMARC_SEARCH_RESULT_MAX_COUNT

View File

@ -6,7 +6,7 @@ from pydantic import BaseModel
from src.model.db.inst_div_master import InstDivMasterModel from src.model.db.inst_div_master import InstDivMasterModel
from src.model.db.prefc_master import PrefcMasterModel from src.model.db.prefc_master import PrefcMasterModel
from src.model.db.ultmarc_inst import UltmarcInstDBModel from src.model.db.ultmarc_inst import UltmarcInstDBModel
from src.model.request.ultmarc_inst import UltmarcInstModel from src.model.request.ultmarc_inst import UltmarcInstSearchModel
from src.system_var import environment from src.system_var import environment
@ -16,13 +16,19 @@ class UltmarcInstViewModel(BaseModel):
prefc_models: list[PrefcMasterModel] prefc_models: list[PrefcMasterModel]
inst_div_models: list[InstDivMasterModel] inst_div_models: list[InstDivMasterModel]
inst_data: Optional[list[UltmarcInstDBModel]] = [] inst_data: Optional[list[UltmarcInstDBModel]] = []
form_data: Optional[UltmarcInstModel] form_data: Optional[UltmarcInstSearchModel]
def ultmarc_data_json_str(self): def ultmarc_data_json_str(self):
def date_handler(obj): def date_handler(obj):
return obj.isoformat() if hasattr(obj, 'isoformat') else obj return obj.isoformat() if hasattr(obj, 'isoformat') else obj
return json.dumps([model.dict() for model in self.inst_data], ensure_ascii=False, default=date_handler) return json.dumps([model.dict() for model in self.inst_data], ensure_ascii=False, default=date_handler)
# ページネーションのページ番号
def is_input_pagination_pageNumber(self):
if not self.is_form_submitted():
return 1
return self.form_data.pagination_pageNumber or 1
# ULT施設コード # ULT施設コード
def is_input_dcf_dsf_inst_cd(self): def is_input_dcf_dsf_inst_cd(self):
if not self.is_form_submitted(): if not self.is_form_submitted():
@ -102,7 +108,7 @@ class UltmarcInstViewModel(BaseModel):
return len(self.inst_data) == 0 return len(self.inst_data) == 0
def is_data_overflow_max_length(self): def is_data_overflow_max_length(self):
return len(self.inst_data) >= environment.UTL_SEARCH_RESULT_MAX_COUNT return len(self.inst_data) >= environment.ULTMARC_SEARCH_RESULT_MAX_COUNT
def _selected_value(self, form_value: str, current_value: str): def _selected_value(self, form_value: str, current_value: str):
return 'selected' if form_value == current_value else '' return 'selected' if form_value == current_value else ''

View File

@ -2,7 +2,7 @@ from src.db import sql_condition as condition
from src.db.sql_condition import SQLCondition from src.db.sql_condition import SQLCondition
from src.model.db.ultmarc_inst import UltmarcInstDBModel from src.model.db.ultmarc_inst import UltmarcInstDBModel
from src.model.db.ultmarc_inst_info import UltmarcInstInfoDBModel from src.model.db.ultmarc_inst_info import UltmarcInstInfoDBModel
from src.model.request.ultmarc_inst import UltmarcInstModel from src.model.request.ultmarc_inst import UltmarcInstSearchModel
from src.repositories.base_repository import BaseRepository from src.repositories.base_repository import BaseRepository
from src.util.string_util import is_not_empty from src.util.string_util import is_not_empty
@ -30,11 +30,11 @@ class UltmarcInstRepository(BaseRepository):
\ \
""" """
def fetch_many(self, parameter: UltmarcInstModel) -> list[UltmarcInstDBModel]: def fetch_many(self, parameter: UltmarcInstSearchModel) -> list[UltmarcInstDBModel]:
try: try:
self._database.connect() self._database.connect()
# 文字列の検索を部分一致にするため、モデルをコピー。以降はこのコピーを使用する。 # 文字列の検索を部分一致にするため、モデルをコピー。以降はこのコピーを使用する。
clone_parameter = UltmarcInstModel(**parameter.dict()) clone_parameter = UltmarcInstSearchModel(**parameter.dict())
where_clause = self.__build_condition(clone_parameter) where_clause = self.__build_condition(clone_parameter)
query = self.FETCH_SQL.format(where_clause=where_clause) query = self.FETCH_SQL.format(where_clause=where_clause)
result = self._database.execute_select(query, clone_parameter.dict()) result = self._database.execute_select(query, clone_parameter.dict())
@ -48,7 +48,7 @@ class UltmarcInstRepository(BaseRepository):
finally: finally:
self._database.disconnect() self._database.disconnect()
def __build_condition(self, parameter: UltmarcInstModel): def __build_condition(self, parameter: UltmarcInstSearchModel):
where_clauses: list[SQLCondition] = [] where_clauses: list[SQLCondition] = []
# ULT施設コード # ULT施設コード

View File

@ -1,7 +1,6 @@
from src.aws.aws_api_client import AWSAPIClient from src.aws.aws_api_client import AWSAPIClient
from src.model.internal.session import UserSession
from src.model.request.ultmarc_doctor import UltmarcDoctorSearchModel from src.model.request.ultmarc_doctor import UltmarcDoctorSearchModel
from src.model.request.ultmarc_inst import UltmarcInstModel from src.model.request.ultmarc_inst import UltmarcInstSearchModel
from src.model.view.ultmarc_doctor_info_view_model import \ from src.model.view.ultmarc_doctor_info_view_model import \
UltmarcDoctorInfoViewModel UltmarcDoctorInfoViewModel
from src.model.view.ultmarc_doctor_view_model import UltmarcDoctorViewModel from src.model.view.ultmarc_doctor_view_model import UltmarcDoctorViewModel
@ -66,10 +65,13 @@ class UltmarcViewService(BaseService):
self.ultmarc_doctor_wrkplace_his_repository = repositories['ultmarc_doctor_wrkplace_his_repository'] self.ultmarc_doctor_wrkplace_his_repository = repositories['ultmarc_doctor_wrkplace_his_repository']
self.ultmarc_specialist_license_repository = repositories['ultmarc_specialist_license_repository'] self.ultmarc_specialist_license_repository = repositories['ultmarc_specialist_license_repository']
def prepare_ultmarc_doctor_view( #########################
self, # アルトマーク医師 #
session: UserSession #########################
def prepare_ultmarc_doctor_search_view(
self
) -> UltmarcDoctorViewModel: ) -> UltmarcDoctorViewModel:
# 医師一覧画面の表示データ取得
# 都道府県リストを取得 # 都道府県リストを取得
prefcs = self.prefc_repository.fetch_all() prefcs = self.prefc_repository.fetch_all()
@ -78,58 +80,15 @@ class UltmarcViewService(BaseService):
) )
return ultmarc return ultmarc
def ultmarc_inst_view(
self,
session: UserSession
) -> UltmarcInstViewModel:
# 都道府県リストを取得
prefcs = self.prefc_repository.fetch_all()
# 施設区分リストを取得
inst_div = self.inst_div_repository.fetch_all()
ultmarc = UltmarcInstViewModel(
prefc_models=prefcs,
inst_div_models=inst_div
)
return ultmarc
def search_inst_data(self, search_params: UltmarcInstModel):
# 施設データを検索
ultmarc_inst_data = self.ultmarc_inst_repository.fetch_many(parameter=search_params)
return ultmarc_inst_data
def info_ultmarc_inst_view(
self,
id,
session: UserSession
) -> UltmarcInstInfoViewModel:
# 施設情報画面の表示データ取得
# 施設情報を取得
inst_info = self.ultmarc_inst_repository.fetch_one(id)
# 診療科目情報を取得
inst_trt_course = self.ultmarc_inst_trt_course_repository.fetch_many(id)
# 医師件数を取得
doctor_count = self.ultmarc_doctor_wrkplace_repository.fetch_count(id)
ultmarc = UltmarcInstInfoViewModel(
inst_info_data=inst_info,
inst_trt_coursed_data=inst_trt_course,
doctor_wrkplace_count=doctor_count
)
return ultmarc
def search_doctor_data(self, search_params: UltmarcDoctorSearchModel): def search_doctor_data(self, search_params: UltmarcDoctorSearchModel):
# 医師データを検索 # 医師データを検索
ultmarc_doctor_data = self.ultmarc_doctor_repository.fetch_many(parameter=search_params) ultmarc_doctor_data = self.ultmarc_doctor_repository.fetch_many(parameter=search_params)
return ultmarc_doctor_data return ultmarc_doctor_data
def info_ultmarc_doctor_view( def prepare_ultmarc_doctor_info_view(
self, self,
id, id
session: UserSession
) -> UltmarcDoctorInfoViewModel: ) -> UltmarcDoctorInfoViewModel:
# 医師情報画面の表示データ取得 # 医師情報画面の表示データ取得
# 医師情報を取得 # 医師情報を取得
doctor_info = self.ultmarc_doctor_repository.fetch_one(id) doctor_info = self.ultmarc_doctor_repository.fetch_one(id)
@ -153,3 +112,45 @@ class UltmarcViewService(BaseService):
doctor_wrkplace_his_data=wrkplace_his doctor_wrkplace_his_data=wrkplace_his
) )
return ultmarc return ultmarc
#########################
# アルトマーク施設 #
#########################
def prepare_ultmarc_inst_search_view(
self
) -> UltmarcInstViewModel:
# 施設一覧画面の表示データ取得
# 都道府県リストを取得
prefcs = self.prefc_repository.fetch_all()
# 施設区分リストを取得
inst_div = self.inst_div_repository.fetch_all()
ultmarc = UltmarcInstViewModel(
prefc_models=prefcs,
inst_div_models=inst_div
)
return ultmarc
def search_inst_data(self, search_params: UltmarcInstSearchModel):
# 施設データを検索
ultmarc_inst_data = self.ultmarc_inst_repository.fetch_many(parameter=search_params)
return ultmarc_inst_data
def prepare_ultmarc_inst_info_view(
self,
id
) -> UltmarcInstInfoViewModel:
# 施設情報画面の表示データ取得
# 施設情報を取得
inst_info = self.ultmarc_inst_repository.fetch_one(id)
# 診療科目情報を取得
inst_trt_course = self.ultmarc_inst_trt_course_repository.fetch_many(id)
# 医師件数を取得
doctor_count = self.ultmarc_doctor_wrkplace_repository.fetch_count(id)
ultmarc = UltmarcInstInfoViewModel(
inst_info_data=inst_info,
inst_trt_coursed_data=inst_trt_course,
doctor_wrkplace_count=doctor_count
)
return ultmarc

View File

@ -19,7 +19,7 @@ DB_PASSWORD = os.environ['DB_PASSWORD']
DB_SCHEMA = os.environ['DB_SCHEMA'] DB_SCHEMA = os.environ['DB_SCHEMA']
BIO_SEARCH_RESULT_MAX_COUNT = int(os.environ['BIO_SEARCH_RESULT_MAX_COUNT']) BIO_SEARCH_RESULT_MAX_COUNT = int(os.environ['BIO_SEARCH_RESULT_MAX_COUNT'])
UTL_SEARCH_RESULT_MAX_COUNT = int(os.environ['UTL_SEARCH_RESULT_MAX_COUNT']) ULTMARC_SEARCH_RESULT_MAX_COUNT = int(os.environ['ULTMARC_SEARCH_RESULT_MAX_COUNT'])
SESSION_EXPIRE_MINUTE = int(os.environ['SESSION_EXPIRE_MINUTE']) SESSION_EXPIRE_MINUTE = int(os.environ['SESSION_EXPIRE_MINUTE'])
LOG_LEVEL = os.environ.get('LOG_LEVEL', 'INFO') LOG_LEVEL = os.environ.get('LOG_LEVEL', 'INFO')

View File

@ -176,7 +176,7 @@
</table> </table>
{% if bio.is_form_submitted() and bio.is_data_overflow_max_length() %} {% if bio.is_form_submitted() and bio.is_data_overflow_max_length() %}
<div class="resultAreaMsg"> <div class="resultAreaMsg">
検索件数が500件を超えています 検索項目を見直してください 検索結果が最大件数を超えました。検索条件を見直しして下さい。
</div> </div>
{% endif %} {% endif %}
{% if bio.is_form_submitted() and bio.is_data_empty() %} {% if bio.is_form_submitted() and bio.is_data_empty() %}

View File

@ -84,30 +84,30 @@
<tbody> <tbody>
<tr> <tr>
<td class="docInfoTd">医師コード:</td> <td class="docInfoTd">医師コード:</td>
<td><input type="text" readonly="readonly" value="{{ultmarc.is_input_dcf_pcf_dr_cd()}}"></td> <td><input type="text" readonly="readonly" value="{{ultmarc.doctor_info_data.dcf_pcf_dr_cd or ''}}"></td>
<td>氏名(漢字):</td> <td>氏名(漢字):</td>
<td><input type="text" readonly="readonly" value="{{ultmarc.is_input_dr_name()}}"></td> <td><input type="text" readonly="readonly" value="{{ultmarc.doctor_info_data.dr_name or ''}}"></td>
<td>氏名(カナ):</td> <td>氏名(カナ):</td>
<td><input type="text" readonly="readonly" value="{{ultmarc.is_input_dr_name_kana()}}"></td> <td><input type="text" readonly="readonly" value="{{ultmarc.doctor_info_data.dr_name_kana or ''}}"></td>
</tr> </tr>
<tr> <tr>
<td class="docInfoTd">性別:</td> <td class="docInfoTd">性別:</td>
<td><input type="text" readonly="readonly" value="{{ultmarc.is_input_sex()}}"></td> <td><input type="text" readonly="readonly" value="{{ultmarc.doctor_info_data.sex or ''}}"></td>
<td>生年月日:</td> <td>生年月日:</td>
<td><input type="text" readonly="readonly" value="{{ultmarc.is_input_birthday_fromat()}}"></td> <td><input type="text" readonly="readonly" value="{{ultmarc.is_input_birthday_fromat()}}"></td>
</tr> </tr>
<tr> <tr>
<td colspan="6" class="docInfoTd"> <td colspan="6" class="docInfoTd">
出身大学: 出身大学:
<input class="docInfoTextBox" type="text" readonly="readonly" value="{{ultmarc.is_input_alma()}}"> <input class="docInfoTextBox" type="text" readonly="readonly" value="{{ultmarc.doctor_info_data.alma or ''}}">
出身県: 出身県:
<input class="docInfoTextBox" type="text" readonly="readonly" value="{{ultmarc.is_input_hometown()}}"> <input class="docInfoTextBox" type="text" readonly="readonly" value="{{ultmarc.doctor_info_data.hometown or ''}}">
卒年: 卒年:
<input class="docInfoTextBox" type="text" readonly="readonly" value="{{ultmarc.is_input_grad_y()}}"> <input class="docInfoTextBox" type="text" readonly="readonly" value="{{ultmarc.doctor_info_data.grad_y or ''}}">
登録年: 登録年:
<input class="docInfoTextBox" type="text" readonly="readonly" value="{{ultmarc.is_input_drday_y()}}"> <input class="docInfoTextBox" type="text" readonly="readonly" value="{{ultmarc.doctor_info_data.drday_y or ''}}">
開業年: 開業年:
<input class="docInfoTextBox" type="text" readonly="readonly" value="{{ultmarc.is_input_estab_y()}}"> <input class="docInfoTextBox" type="text" readonly="readonly" value="{{ultmarc.doctor_info_data.estab_y or ''}}">
</td> </td>
</tr> </tr>
@ -141,8 +141,8 @@
<tbody> <tbody>
{% for sosiety_data in ultmarc.sosiety_data %} {% for sosiety_data in ultmarc.sosiety_data %}
<tr> <tr>
<td>{{ultmarc.is_data_string_empty_fromat(sosiety_data.sosiety_cd)}}</td> <td>{{sosiety_data.sosiety_cd or ''}}</td>
<td>{{ultmarc.is_data_string_empty_fromat(sosiety_data.sosiety_name)}}</td> <td>{{sosiety_data.sosiety_name or ''}}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
@ -162,8 +162,8 @@
<tbody> <tbody>
{% for specialist_license_data in ultmarc.specialist_license_data %} {% for specialist_license_data in ultmarc.specialist_license_data %}
<tr> <tr>
<td>{{ultmarc.is_data_string_empty_fromat(specialist_license_data.specialist_cd)}}</td> <td>{{specialist_license_data.specialist_cd or ''}}</td>
<td>{{ultmarc.is_data_string_empty_fromat(specialist_license_data.specialist_license_name)}}</td> <td>{{specialist_license_data.specialist_license_name or ''}}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
@ -176,7 +176,7 @@
<!-- 勤務先履歴 --> <!-- 勤務先履歴 -->
<h1 class="wrkplaceH1">勤務先履歴</h1> <h1 class="wrkplaceH1">勤務先履歴</h1>
<div class="scroll"> <div class="scroll">
<table class="tablesorter wrkplaceTable" _fixedhead='rows:1; cols:0; border-color:gray; border-width:2px;'> <table class="tablesorter wrkplaceTable" _fixedhead='rows:1; cols:0; border-color:gray; border-width:2px;'>
<thead> <thead>
<tr> <tr>
<th>ULT施設コード</th> <th>ULT施設コード</th>
@ -196,31 +196,30 @@
</script> </script>
<tbody> <tbody>
{% for doctor_wrkplace_data in ultmarc.doctor_wrkplace_data %} {% for doctor_wrkplace_data in ultmarc.doctor_wrkplace_data %}
{% if ultmarc.is_data_string_empty_fromat(doctor_wrkplace_data.dcf_dsf_inst_cd) != ''%} {% if doctor_wrkplace_data.dcf_dsf_inst_cd %}
<tr> <tr>
<td><a href="/ultmarc/instInfo?id={{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_data.dcf_dsf_inst_cd)}}" onclick="OnLinkClick();"> <td><a href="/ultmarc/instInfo?id={{doctor_wrkplace_data.dcf_dsf_inst_cd or ''}}" onclick="OnLinkClick();">
{{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_data.dcf_dsf_inst_cd)}}</a></td> {{doctor_wrkplace_data.dcf_dsf_inst_cd or ''}}</a></td>
<td>{{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_data.inst_name_kanji)}}</td> <td>{{doctor_wrkplace_data.inst_name_kanji or ''}}</td>
<td>{{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_data.blng_sec_name)}}</td> <td>{{doctor_wrkplace_data.blng_sec_name or ''}}</td>
<td>{{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_data.univ_post_name)}}</td> <td>{{doctor_wrkplace_data.univ_post_name or ''}}</td>
<td>{{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_data.post_name)}}</td> <td>{{doctor_wrkplace_data.post_name or ''}}</td>
<td>{{ultmarc.is_input_ymd_fromat(doctor_wrkplace_data.aply_start_ymd)}}</td> <td>{{doctor_wrkplace_data.aply_start_ymd or ''}}</td>
<td>9999/99/99</td> <td>9999/99/99</td>
</tr> </tr>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% for doctor_wrkplace_his_data in ultmarc.doctor_wrkplace_his_data %} {% for doctor_wrkplace_his_data in ultmarc.doctor_wrkplace_his_data %}
{% if ultmarc.is_data_string_empty_fromat(doctor_wrkplace_his_data.dcf_dsf_inst_cd) != ''%} {% if doctor_wrkplace_his_data.dcf_dsf_inst_cd %}
<tr> <tr>
<td><a href="/ultmarc/instInfo?id={{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_his_data.dcf_dsf_inst_cd)}}" onclick="OnLinkClick();"> <td><a href="/ultmarc/instInfo?id={{doctor_wrkplace_his_data.dcf_dsf_inst_cd or ''}}" onclick="OnLinkClick();">
{{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_his_data.dcf_dsf_inst_cd)}} {{doctor_wrkplace_his_data.dcf_dsf_inst_cd or ''}}</a></td>
</a></td> <td>{{doctor_wrkplace_his_data.inst_name_kanji or ''}}</td>
<td>{{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_his_data.inst_name_kanji)}}</td> <td>{{doctor_wrkplace_his_data.blng_sec_name or ''}}</td>
<td>{{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_his_data.blng_sec_name)}}</td> <td>{{doctor_wrkplace_his_data.univ_post_name or ''}}</td>
<td>{{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_his_data.univ_post_name)}}</td> <td>{{doctor_wrkplace_his_data.post_name or ''}}</td>
<td>{{ultmarc.is_data_string_empty_fromat(doctor_wrkplace_his_data.post_name)}}</td> <td>{{doctor_wrkplace_his_data.aply_start_ymd or ''}}</td>
<td>{{ultmarc.is_input_ymd_fromat(doctor_wrkplace_his_data.aply_start_ymd)}}</td> <td>{{doctor_wrkplace_his_data.aply_end_ymd or ''}}</td>
<td>{{ultmarc.is_input_ymd_fromat(doctor_wrkplace_his_data.aply_end_ymd)}}</td>
</tr> </tr>
{% endif %} {% endif %}
{% endfor %} {% endfor %}

View File

@ -111,11 +111,12 @@
</form> </form>
<!--検索結果--> <!--検索結果-->
<form id="doctor_info" class="_form" name="result" action="/ultmarc/docInfo" method="POST" onsubmit="CheckBoxListPocessing()"> <form id="doctor_info" class="_form" name="result" action="/ultmarc/docInfo" method="POST" onsubmit="CheckBoxListProcessing()">
<input type="button" name="allon" onclick="allOn()" value="全選択" class="ult_bt allOnOffButton" /> <input type="button" name="allon" onclick="allOn()" value="全選択" class="ult_bt allOnOffButton" />
<input type="button" name="alloff" onclick="allOff()" value="全解除" class="ult_bt allOnOffButton" /> <input type="button" name="alloff" onclick="allOff()" value="全解除" class="ult_bt allOnOffButton" />
<input type="hidden" name="doc_id" id="doc_id" value=""> <input type="hidden" name="doc_id" id="doc_id" value="">
<input type="hidden" name="page_num" value="0"> <input type="hidden" name="page_num" value="0">
<!--検索件数--> <!--検索件数-->
<!--ページネーション--> <!--ページネーション-->
<div id="light-pagination" class="pagination"></div> <div id="light-pagination" class="pagination"></div>
@ -140,7 +141,7 @@
</table> </table>
{% if ultmarc.is_form_submitted() and ultmarc.is_data_overflow_max_length() %} {% if ultmarc.is_form_submitted() and ultmarc.is_data_overflow_max_length() %}
<div class="resultAreaMsg"> <div class="resultAreaMsg">
検索結果が最大件数を超えました。検索条件を見直しして下さい。 検索件数が500件を超えています 検索項目を見直してください
</div> </div>
{% endif %} {% endif %}
{% if ultmarc.is_form_submitted() and ultmarc.is_data_empty() %} {% if ultmarc.is_form_submitted() and ultmarc.is_data_empty() %}
@ -157,14 +158,15 @@
<script type="text/javascript"> <script type="text/javascript">
// <! --ページネーションの作成-- > // <! --ページネーションの作成-- >
$(function() { $(function() {
// スピナー出さない場合は以下、エスケープせず埋め込む let searchResultData = [];
// {% autoescape False%} // {% if not ultmarc.is_data_overflow_max_length() and not ultmarc.is_data_empty() %}
let searchResultString = '{{ultmarc.ultmarc_data_json_str()}}' // スピナー出さない場合は以下、エスケープせず埋め込む
// {% endautoescape%} // {% autoescape False%}
const searchResultData = JSON.parse(searchResultString) const searchResultString = '{{ultmarc.ultmarc_data_json_str()}}';
if(searchResultData.length > 500){ // {% endautoescape%}
return searchResultData = JSON.parse(searchResultString);
} // {% endif %}
// 検索条件をセッションに入れる // 検索条件をセッションに入れる
sessionStorage.clear(); sessionStorage.clear();
sessionStorage.setItem('ctrl_dcf_pcf_dr_cd','{{ultmarc.is_input_dcf_pcf_dr_cd()}}'); sessionStorage.setItem('ctrl_dcf_pcf_dr_cd','{{ultmarc.is_input_dcf_pcf_dr_cd()}}');
@ -178,21 +180,25 @@
sessionStorage.setItem('ctrl_trt_course_name','{{ultmarc.is_input_trt_course_name()}}'); sessionStorage.setItem('ctrl_trt_course_name','{{ultmarc.is_input_trt_course_name()}}');
sessionStorage.setItem('ctrl_alma','{{ultmarc.is_input_alma()}}'); sessionStorage.setItem('ctrl_alma','{{ultmarc.is_input_alma()}}');
sessionStorage.setItem('ctrl_grad_y','{{ultmarc.is_input_grad_y()}}'); sessionStorage.setItem('ctrl_grad_y','{{ultmarc.is_input_grad_y()}}');
// ページネーションのページ番号取得
let pagination_pageNumber = Number('{{ultmarc.is_input_pagination_pageNumber()}}');
$(".pagination").pagination({ $(".pagination").pagination({
dataSource: function(done) { dataSource: function(done) {
done(searchResultData) done(searchResultData)
}, },
pageNumber: 1, // 初期ページ番号 pageNumber: pagination_pageNumber, // 初期ページ番号
pageSize: 50, //表示するコンテンツ数 pageSize: 50, //表示するコンテンツ数
pageRange: 2, //選択されているページネーション番号の両隣に表示する個数 pageRange: 1, //選択されているページネーション番号の両隣に表示する個数
ellipsisText: '...', //省略文字 ellipsisText: '...', //省略文字
prevText: 'Prev', //「前へ」の文字。エスケープ文字 prevText: 'Prev', //「前へ」の文字。エスケープ文字
nextText: 'Next', //「次へ」の文字。エスケープ文字 nextText: 'Next', //「次へ」の文字。エスケープ文字
showNavigator: true, showNavigator: true,
formatNavigator: '件数: <%= totalNumber %>件 ページ数: <%= totalPage %>', formatNavigator: '件数: <%= totalNumber %>件 ページ数: <%= totalPage %>',
callback: function(data, pagination) { callback: function(data, pagination) {
$('#result_data').html(pagination_content(data)) sessionStorage.setItem('pagination_pageNumber',pagination.pageNumber);
$('#result_data').html(pagination_content(data));
} }
}) })
}); });
@ -213,7 +219,7 @@
'alma', 'alma',
'grad_y' 'grad_y'
]; ];
return datas.map(function (data, index) { return datas.map(function (data) {
let td = display_keys.map((key) =>{ let td = display_keys.map((key) =>{
let inner_content = data[key]; let inner_content = data[key];
if(key=='dcf_pcf_dr_cd') if(key=='dcf_pcf_dr_cd')
@ -235,10 +241,10 @@
}) })
} }
配列パラメータを加工にする // 検索結果のうち、チェックされている行のデータを非表示項目に詰め込む
function CheckBoxListPocessing() function CheckBoxListProcessing()
{ {
var vals = []; // 配列を定義 let vals = []; // 配列を定義
$('input[name="data"]:checked').each(function() { $('input[name="data"]:checked').each(function() {
vals.push( $(this).val() ); // 配列に値を追加 vals.push( $(this).val() ); // 配列に値を追加
}); });

View File

@ -43,7 +43,7 @@
<tr> <tr>
<form name="docSearch" method="post" action="/ultmarc/docSearch"> <form name="docSearch" method="post" action="/ultmarc/docSearch">
<td class="instHeaderTd"> <td class="instHeaderTd">
<input type="hidden" name="ctrl_dcf_dsf_inst_cd" value="{{ultmarc.is_input_dcf_dsf_inst_cd()}}"> <input type="hidden" name="ctrl_dcf_dsf_inst_cd" value="{{ultmarc.inst_info_data.dcf_dsf_inst_cd or ''}}">
<input name="docSearchBt" class="transitionBt" type="submit" value="勤務医師" {{ultmarc.is_disabled_doctor_wrkplace()}}> <input name="docSearchBt" class="transitionBt" type="submit" value="勤務医師" {{ultmarc.is_disabled_doctor_wrkplace()}}>
</td> </td>
</form> </form>
@ -98,74 +98,76 @@
<tr> <tr>
<td class="instInfoColumn">施設コード</td> <td class="instInfoColumn">施設コード</td>
<td class="instData instDataLeft"> <td class="instData instDataLeft">
<input type="text" readonly="readonly" value="{{ultmarc.is_input_dcf_dsf_inst_cd()}}" class="instCdTextbox"> <input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.dcf_dsf_inst_cd or ''}}" class="instCdTextbox">
<input class="checkbox" type="checkbox" disabled="disabled" {{ultmarc.is_checked_unconf_flg()}}>未確認 <input class="checkbox" type="checkbox" disabled="disabled" {{ultmarc.is_checked_unconf_flg()}}>未確認
</td> </td>
<td class="instInfoColumn">施設コード変換先</td> <td class="instInfoColumn">施設コード変換先</td>
<td class="instData instDataCenter"> <td class="instData instDataCenter">
<input type="text" readonly="readonly" value="{{ultmarc.is_input_dup_opp_cd()}}" class="instDataCenterTextbox"> <input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.dup_opp_cd or ''}}" class="instDataCenterTextbox">
</td> </td>
<td class="instInfoColumn">休院店開始年月</td> <td class="instInfoColumn">休院店開始年月</td>
<td class="instData instDataRight"> <td class="instData instDataRight">
<input type="text" readonly="readonly" value="{{ultmarc.is_input_close_start_ym()}}" class="instDataSmallTextbox"> <input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.close_start_ym or ''}}" class="instDataSmallTextbox">
<input type="checkbox" disabled="disabled" {{ultmarc.is_checked_close_flg()}}>休院店 <input type="checkbox" disabled="disabled" {{ultmarc.is_checked_close_flg()}}>休院店
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="instInfoColumn">削除予定理由</td> <td class="instInfoColumn">削除予定理由</td>
<td class="instData instDataLeft"><input type="text" readonly="readonly" value="{{ultmarc.is_input_delete_sche_reason_cd()}}" class="delReasonCdTextbox"><input type="text" readonly="readonly" value="{{ultmarc.is_input_delete_sche_reason()}}" class="delReasonTextbox"></td> <td class="instData instDataLeft">
<input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.delete_sche_reason_cd or ''}}" class="delReasonCdTextbox">
<input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.delete_sche_reason or ''}}" class="delReasonTextbox"></td>
<td class="instInfoColumn">削除日</td> <td class="instInfoColumn">削除日</td>
<td class="instData instDataCenter"> <td class="instData instDataCenter">
<input type="text" readonly="readonly" value="{{ultmarc.is_input_abolish_ymd()}}" class="instDataCenterTextbox"> <input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.abolish_ymd or ''}}" class="instDataCenterTextbox">
</td> </td>
<td class="instInfoColumn">開業予定年月</td> <td class="instInfoColumn">開業予定年月</td>
<td class="instData instDataRight"> <td class="instData instDataRight">
<input type="text" readonly="readonly" value="{{ultmarc.is_input_estab_sche_ym()}}" class="instDataSmallTextbox"> <input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.estab_sche_ym or ''}}" class="instDataSmallTextbox">
<input type="checkbox" disabled="disabled" {{ultmarc.is_checked_estab_sche_flg()}}>開業 <input type="checkbox" disabled="disabled" {{ultmarc.is_checked_estab_sche_flg()}}>開業
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="instInfoColumn">正式施設名(カナ)</td> <td class="instInfoColumn">正式施設名(カナ)</td>
<td class="instData" colspan="5"><input type="text" readonly="readonly" value="{{ultmarc.is_input_form_inst_name_kana()}}" class="instInfoTextbox"></td> <td class="instData" colspan="5"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.form_inst_name_kana or ''}}" class="instInfoTextbox"></td>
</tr> </tr>
<tr> <tr>
<td class="instInfoColumn">正式施設名(漢字)</td> <td class="instInfoColumn">正式施設名(漢字)</td>
<td class="instData" colspan="5"><input type="text" readonly="readonly" value="{{ultmarc.is_input_form_inst_name_kanji()}}" class="instInfoTextbox"></td> <td class="instData" colspan="5"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.form_inst_name_kanji or ''}}" class="instInfoTextbox"></td>
</tr> </tr>
<tr> <tr>
<td class="instInfoColumn">略式施設名(カナ)</td> <td class="instInfoColumn">略式施設名(カナ)</td>
<td class="instData instDataMid" colspan="3"><input type="text" readonly="readonly" value="{{ultmarc.is_input_inst_name_kana()}}" class="instInfoTextbox"></td> <td class="instData instDataMid" colspan="3"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.inst_name_kana or ''}}" class="instInfoTextbox"></td>
<td class="instInfoColumn">施設区分名</td> <td class="instInfoColumn">施設区分名</td>
<td class="instData instDataSmall"><input type="text" readonly="readonly" value="{{ultmarc.is_input_inst_div_name()}}" class="instInfoTextbox"></td> <td class="instData instDataSmall"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.inst_div_name or ''}}" class="instInfoTextbox"></td>
</tr> </tr>
<tr> <tr>
<td class="instInfoColumn">略式施設名(漢字)</td> <td class="instInfoColumn">略式施設名(漢字)</td>
<td class="instData instDataMid" colspan="3"><input type="text" readonly="readonly" value="{{ultmarc.is_input_inst_name_kanji()}}" class="instInfoTextbox"></td> <td class="instData instDataMid" colspan="3"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.inst_name_kanji or ''}}" class="instInfoTextbox"></td>
<td class="instInfoColumn">経営体</td> <td class="instInfoColumn">経営体</td>
<td class="instData instDataSmall"> <td class="instData instDataSmall">
<input type="text" readonly="readonly" value="{{ultmarc.is_input_manage_cd()}}" class="manageTextbox"> <input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.manage_cd or ''}}" class="manageTextbox">
<input type="text" readonly="readonly" value="{{ultmarc.is_input_manage_name()}}" class="textboxMargin manageTextbox"> <input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.manage_name or ''}}" class="textboxMargin manageTextbox">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="instInfoColumn">郵便番号</td> <td class="instInfoColumn">郵便番号</td>
<td class="instData instDataMid" colspan="3"> <td class="instData instDataMid" colspan="3">
<input type="text" readonly="readonly" value="{{ultmarc.is_input_postal_number()}}"> <input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.postal_number or ''}}">
<input type="checkbox" class="checkboxMargin" disabled="disabled" {{ultmarc.is_checked_addr_unknown_reason_cd()}}>住所不明 <input type="checkbox" class="checkboxMargin" disabled="disabled" {{ultmarc.is_checked_addr_unknown_reason_cd()}}>住所不明
</td> </td>
<td class="instInfoColumn">施設電話番号</td> <td class="instInfoColumn">施設電話番号</td>
<td class="instData instDataRight"> <td class="instData instDataRight">
<input type="text" readonly="readonly" value="{{ultmarc.is_input_inst_phone_number()}}" class="instDataSmallTextbox"> <input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.inst_phone_number or ''}}" class="instDataSmallTextbox">
<input type="checkbox" class="checkboxMargin" disabled="disabled" {{ultmarc.is_checked_phone_number_non_flg()}}>電話なし <input type="checkbox" class="checkboxMargin" disabled="disabled" {{ultmarc.is_checked_phone_number_non_flg()}}>電話なし
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="instInfoColumn">住所(カナ)</td> <td class="instInfoColumn">住所(カナ)</td>
<td class="instData instDataLarge" colspan="5"><input type="text" readonly="readonly" value="{{ultmarc.is_input_inst_addr_kana()}}" class="instInfoTextbox"></td> <td class="instData instDataLarge" colspan="5"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.inst_addr_kana or ''}}" class="instInfoTextbox"></td>
</tr> </tr>
<tr> <tr>
<td class="instInfoColumn">住所(漢字)</td> <td class="instInfoColumn">住所(漢字)</td>
<td class="instData instDataLarge" colspan="5"><input type="text" readonly="readonly" value="{{ultmarc.is_input_inst_addr()}}" class="instInfoTextbox"></td> <td class="instData instDataLarge" colspan="5"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.inst_addr or ''}}" class="instInfoTextbox"></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -177,12 +179,12 @@
<tbody> <tbody>
<tr> <tr>
<td class="hpInfoColumn">病院種別</td> <td class="hpInfoColumn">病院種別</td>
<td class="instData hpAssrtTd"><input type="text" readonly="readonly" value="{{ultmarc.is_input_hp_assrt_name()}}" class="hpAssrtTextbox"></td> <td class="instData hpAssrtTd"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.hp_assrt_name or ''}}" class="hpAssrtTextbox"></td>
<td class="instData reExamTd"><input type="checkbox" disabled="disabled" {{ultmarc.is_checked_re_exam_cd()}}>再審査区分</input></td> <td class="instData reExamTd"><input type="checkbox" disabled="disabled" {{ultmarc.is_checked_re_exam_cd()}}>再審査区分</input></td>
<td class="hpInfoColumn">関連大学親名</td> <td class="hpInfoColumn">関連大学親名</td>
<td class="instData"> <td class="instData">
<input type="text" readonly="readonly" value="{{ultmarc.is_input_rltd_univ_prnt_cd()}}" class="parentCdTextBox"> <input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.rltd_univ_prnt_cd or ''}}" class="parentCdTextBox">
<input type="text" readonly="readonly" value="{{ultmarc.is_input_parent_name()}}" class="parentNameTextBox"> <input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.parent_name or ''}}" class="parentNameTextBox">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -203,19 +205,19 @@
<td class="hpInfoColumn">検査工程</td> <td class="hpInfoColumn">検査工程</td>
<td class="instData" colspan="4"> <td class="instData" colspan="4">
<label>微生物</label> <label>微生物</label>
<input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.is_input_insp_item_micrb()}}"> <input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.insp_item_micrb or ''}}">
<label>血清</label> <label>血清</label>
<input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.is_input_insp_item_serum()}}"> <input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.insp_item_serum or ''}}">
<label>血液</label> <label>血液</label>
<input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.is_input_insp_item_blood()}}"> <input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.insp_item_blood or ''}}">
<label>病理</label> <label>病理</label>
<input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.is_input_insp_item_patho()}}"> <input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.insp_item_patho or ''}}">
<label>寄生虫</label> <label>寄生虫</label>
<input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.is_input_insp_item_paras()}}"> <input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.insp_item_paras or ''}}">
<label>生化</label> <label>生化</label>
<input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.is_input_insp_item_biochem()}}"> <input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.insp_item_biochem or ''}}">
<label>RI</label> <label>RI</label>
<input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.is_input_insp_item_ri()}}"> <input class="trtTextbox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.insp_item_ri or ''}}">
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -224,7 +226,7 @@
<tbody> <tbody>
<tr> <tr>
<td class="hpInfoColumn">特務医務室</td> <td class="hpInfoColumn">特務医務室</td>
<td class="instData xSmallTd"><input type="text" readonly="readonly" value="{{ultmarc.is_input_dcf_prnt_inst_cd()}}" class="xSmallTextbox"></td> <td class="instData xSmallTd"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.dcf_prnt_inst_cd or ''}}" class="xSmallTextbox"></td>
<td rowspan="2" class="hpInfoColumn">許可病床数</td> <td rowspan="2" class="hpInfoColumn">許可病床数</td>
<td class="instData bedTd" rowspan="2"> <td class="instData bedTd" rowspan="2">
<table> <table>
@ -239,13 +241,13 @@
<td>合計</td> <td>合計</td>
</tr> </tr>
<tr> <tr>
<td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.is_input_prmit_bed_num_gen()}}"></td> <td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.prmit_bed_num_gen or ''}}"></td>
<td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.is_input_prmit_bed_num_rcup()}}"></td> <td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.prmit_bed_num_rcup or ''}}"></td>
<td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.is_input_prmit_bed_num_mental()}}"></td> <td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.prmit_bed_num_mental or ''}}"></td>
<td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.is_input_prmit_bed_num_infection()}}"></td> <td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.prmit_bed_num_infection or ''}}"></td>
<td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.is_input_prmit_bed_num_tuber()}}"></td> <td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.prmit_bed_num_tuber or ''}}"></td>
<td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.is_input_prmit_bed_num_other()}}"></td> <td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.prmit_bed_num_other or ''}}"></td>
<td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.is_input_prmit_bed_num_sum()}}"></td> <td><input class="bedTextbox numberBox" type="text" readonly="readonly" value="{{ultmarc.inst_info_data.prmit_bed_num_sum or ''}}"></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -254,9 +256,9 @@
</tr> </tr>
<tr> <tr>
<td class="hpInfoColumn">病床数(定員)</td> <td class="hpInfoColumn">病床数(定員)</td>
<td class="instData"><input type="text" readonly="readonly" value="{{ultmarc.is_input_bed_num()}}" class="xSmallTextbox numberBox"></td> <td class="instData"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.bed_num or ''}}" class="xSmallTextbox numberBox"></td>
<td class="hpInfoColumn">メンテ年月日</td> <td class="hpInfoColumn">メンテ年月日</td>
<td class="instData xSmallTd"><input type="text" readonly="readonly" value="{{ultmarc.is_input_prmit_bed_maint_ymd()}}" class="xSmallTextbox"></td> <td class="instData xSmallTd"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.prmit_bed_maint_ymd or ''}}" class="xSmallTextbox"></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -265,15 +267,15 @@
<tbody> <tbody>
<tr> <tr>
<td class="instInfoColumn">代表者個人コード</td> <td class="instInfoColumn">代表者個人コード</td>
<td class="instData repreTd"><input type="text" readonly="readonly" value="{{ultmarc.is_input_inst_repre_cd()}}" class="repreTextbox"></td> <td class="instData repreTd"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.inst_repre_cd or ''}}" class="repreTextbox"></td>
</tr> </tr>
<tr> <tr>
<td class="instInfoColumn">施設代表者(カナ)</td> <td class="instInfoColumn">施設代表者(カナ)</td>
<td class="instData repreTd"><input type="text" readonly="readonly" value="{{ultmarc.is_input_inst_repre_kana()}}" class="repreTextbox"></td> <td class="instData repreTd"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.inst_repre_kana or ''}}" class="repreTextbox"></td>
</tr> </tr>
<tr> <tr>
<td class="instInfoColumn">施設代表者(漢字)</td> <td class="instInfoColumn">施設代表者(漢字)</td>
<td class="instData repreTd"><input type="text" readonly="readonly" value="{{ultmarc.is_input_inst_repre()}}" class="repreTextbox"></td> <td class="instData repreTd"><input type="text" readonly="readonly" value="{{ultmarc.inst_info_data.inst_repre or ''}}" class="repreTextbox"></td>
</tr> </tr>
<tr> <tr>
<td class="instInfoColumn">修正年月日</td> <td class="instInfoColumn">修正年月日</td>

View File

@ -111,11 +111,12 @@
</form> </form>
<!--検索結果--> <!--検索結果-->
<form class="_form" name="result" action="/ultmarc/instInfo" method="POST" onsubmit="CheckBoxListPocessing()"> <form class="_form" name="result" action="/ultmarc/instInfo" method="POST" onsubmit="CheckBoxListProcessing()">
<input type="button" name="allon" onclick="allOn()" value="全選択" class="ult_bt allOnOffButton"> <input type="button" name="allon" onclick="allOn()" value="全選択" class="ult_bt allOnOffButton">
<input type="button" name="alloff" onclick="allOff()" value="全解除" class="ult_bt allOnOffButton"> <input type="button" name="alloff" onclick="allOff()" value="全解除" class="ult_bt allOnOffButton">
<input type="hidden" name="inst_id" id="inst_id" value=""> <input type="hidden" name="inst_id" id="inst_id" value="">
<input type="hidden" name="page_num" value="0"> <input type="hidden" name="page_num" value="0">
<!--検索件数--> <!--検索件数-->
<!--ページネーション--> <!--ページネーション-->
<div id="light-pagination" class="pagination"></div> <div id="light-pagination" class="pagination"></div>
@ -157,13 +158,16 @@
<script type="text/javascript"> <script type="text/javascript">
// <! --ページネーションの作成-- > // <! --ページネーションの作成-- >
$(function() { $(function() {
// {% autoescape False%}
let searchResultString = '{{ultmarc.ultmarc_data_json_str()}}' let searchResultData = [];
// {% endautoescape%} // {% if not ultmarc.is_data_overflow_max_length() and not ultmarc.is_data_empty() %}
const searchResultData = JSON.parse(searchResultString) // スピナー出さない場合は以下、エスケープせず埋め込む
if (searchResultData.length > 500) { // {% autoescape False%}
return const searchResultString = '{{ultmarc.ultmarc_data_json_str()}}';
} // {% endautoescape%}
searchResultData = JSON.parse(searchResultString);
// {% endif %}
// 検索条件をセッションに入れる // 検索条件をセッションに入れる
sessionStorage.clear(); sessionStorage.clear();
@ -177,11 +181,14 @@
sessionStorage.setItem('delFlg_ctrl','{{ultmarc.is_input_delFlg()}}'); sessionStorage.setItem('delFlg_ctrl','{{ultmarc.is_input_delFlg()}}');
sessionStorage.setItem('ctrl_inst_addr','{{ultmarc.is_input_inst_addr()}}'); sessionStorage.setItem('ctrl_inst_addr','{{ultmarc.is_input_inst_addr()}}');
// ページネーションのページ番号取得
let pagination_pageNumber = Number('{{ultmarc.is_input_pagination_pageNumber()}}');
$(".pagination").pagination({ $(".pagination").pagination({
dataSource: function(done) { dataSource: function(done) {
done(searchResultData) done(searchResultData)
}, },
pageNumber: 1, // 初期ページ番号 pageNumber: pagination_pageNumber, // 初期ページ番号
pageSize: 50, //表示するコンテンツ数 pageSize: 50, //表示するコンテンツ数
pageRange: 2, //選択されているページネーション番号の両隣に表示する個数 pageRange: 2, //選択されているページネーション番号の両隣に表示する個数
ellipsisText: '...', //省略文字 ellipsisText: '...', //省略文字
@ -190,6 +197,7 @@
showNavigator: true, showNavigator: true,
formatNavigator: '件数: <%= totalNumber %>件 ページ数: <%= totalPage %>', formatNavigator: '件数: <%= totalNumber %>件 ページ数: <%= totalPage %>',
callback: function(data, pagination) { callback: function(data, pagination) {
sessionStorage.setItem('pagination_pageNumber',pagination.pageNumber);
$('#result_data').html(pagination_content(data)) $('#result_data').html(pagination_content(data))
} }
}) })
@ -229,10 +237,10 @@
}) })
} }
// 配列パラメータを加工にする // // 検索結果のうち、チェックされている行のデータを非表示項目に詰め込む
function CheckBoxListPocessing() function CheckBoxListProcessing()
{ {
var vals = []; // 配列を定義 let vals = []; // 配列を定義
$('input[name="data"]:checked').each(function() { $('input[name="data"]:checked').each(function() {
vals.push( $(this).val() ); // 配列に値を追加 vals.push( $(this).val() ); // 配列に値を追加
}); });

View File

@ -4,4 +4,4 @@ AUTHORIZE_ENDPOINT=oauth2/authorize
TOKEN_ENDPOINT=oauth2/token TOKEN_ENDPOINT=oauth2/token
BIO_SEARCH_RESULT_MAX_COUNT=35000 BIO_SEARCH_RESULT_MAX_COUNT=35000
SESSION_EXPIRE_MINUTE=20 SESSION_EXPIRE_MINUTE=20
UTL_SEARCH_RESULT_MAX_COUNT=500 ULTMARC_SEARCH_RESULT_MAX_COUNT=500