diff --git a/ecs/jskult-webapp/src/controller/ultmarc.py b/ecs/jskult-webapp/src/controller/ultmarc.py
index 399ca6e4..3037971f 100644
--- a/ecs/jskult-webapp/src/controller/ultmarc.py
+++ b/ecs/jskult-webapp/src/controller/ultmarc.py
@@ -6,7 +6,7 @@ from starlette import status
from src.depends.services import get_service
from src.model.internal.session import UserSession
-from src.model.request.ultmarc_doctor import UltmarcDoctorModel
+from src.model.request.ultmarc_doctor import UltmarcDoctorModel, UltmarcDoctorInfoModel
from src.router.session_router import AuthenticatedRoute
from src.services.batch_status_service import BatchStatusService
from src.services.ultmarc_view_service import UltmarcViewService
@@ -115,6 +115,57 @@ def ultmarc_doctor_info_view(
ultmarc = ultmarc_service.info_ultmarc_doctor_view(id, session)
# バッチ起動判定の取得
ultmarc.is_batch_processing = is_batch_processing
+ # DocId
+ ultmarc.DocId = id
+ # ページ総数(件数)
+ ultmarc.postCnt = 1
+ # ページ数(表示するページNo)
+ ultmarc.pageNum = 0
+
+ # セッション書き換え
+ session.update(
+ actions=[
+ UserSession.last_access_time.set(UserSession.new_last_access_time()),
+ UserSession.record_expiration_time.set(UserSession.new_record_expiration_time()),
+ ]
+ )
+ session_key = set_session(session)
+ templates_response = templates.TemplateResponse(
+ 'docInfo.html', {
+ 'request': request,
+ 'ultmarc': ultmarc,
+ },
+ headers={'session_key': session_key}
+ )
+ return templates_response
+
+
+@router.post('/docInfo')
+def ultmarc_doctor_info_search(
+ request: Request,
+ ultmarc_doctor_form: Optional[UltmarcDoctorInfoModel] = Depends(UltmarcDoctorInfoModel.as_form),
+ ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)),
+ batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService))
+):
+ session: UserSession = request.session
+ # バッチ処理中の場合、機能を利用させない
+ is_batch_processing = batch_status_service.is_batch_processing()
+
+ # if batch_status_service.is_batch_processing():
+ # raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail=constants.LOGOUT_REASON_BATCH_PROCESSING)
+
+ docId = ultmarc_doctor_form.docId.split(',')
+
+ # 医師情報の取得
+ ultmarc = ultmarc_service.info_ultmarc_doctor_view(docId[ultmarc_doctor_form.pageNum], session)
+ # バッチ起動判定の取得
+ ultmarc.is_batch_processing = is_batch_processing
+ # DocId
+ ultmarc.DocId = ultmarc_doctor_form.docId
+ # ページ総数(件数)
+ ultmarc.postCnt = len(docId)
+ # ページ数(表示するページNo)
+ ultmarc.pageNum = ultmarc_doctor_form.pageNum
# セッション書き換え
session.update(
diff --git a/ecs/jskult-webapp/src/model/request/ultmarc_doctor.py b/ecs/jskult-webapp/src/model/request/ultmarc_doctor.py
index 5935c076..0633624e 100644
--- a/ecs/jskult-webapp/src/model/request/ultmarc_doctor.py
+++ b/ecs/jskult-webapp/src/model/request/ultmarc_doctor.py
@@ -49,3 +49,20 @@ class UltmarcDoctorModel(BaseModel):
alma=ctrl_alma,
grad_y=ctrl_grad_y
)
+
+
+class UltmarcDoctorInfoModel(BaseModel):
+ docId: Optional[str]
+ pageNum: Optional[int]
+
+ @classmethod
+ def as_form(
+ cls,
+ docId: str = Form(None),
+ pageNum: str = Form(None)
+ ):
+
+ return cls(
+ docId=docId,
+ pageNum=int(pageNum)
+ )
diff --git a/ecs/jskult-webapp/src/model/view/ultmarc_doctor_info_view_model.py b/ecs/jskult-webapp/src/model/view/ultmarc_doctor_info_view_model.py
index 1cfbcf5f..993bea14 100644
--- a/ecs/jskult-webapp/src/model/view/ultmarc_doctor_info_view_model.py
+++ b/ecs/jskult-webapp/src/model/view/ultmarc_doctor_info_view_model.py
@@ -24,6 +24,9 @@ class UltmarcDoctorInfoViewModel(BaseModel):
specialist_license_data: Optional[list[UltmarcSpecialistLicenseDBModel]]
doctor_wrkplace_data: Optional[list[UltmarcDoctorWrkplaceDBModel]]
doctor_wrkplace_his_data: Optional[list[UltmarcDoctorWrkplaceHisDBModel]]
+ DocId: Optional[str]
+ postCnt: Optional[int]
+ pageNum: Optional[int]
def ultmarc_data_json_str(self):
def date_handler(obj):
@@ -66,6 +69,20 @@ class UltmarcDoctorInfoViewModel(BaseModel):
def is_input_estab_y(self):
return self.doctor_info_data.estab_y or ''
+ # 現在のページ(表示用)
+ def is_pageNum_view(self):
+ return self.pageNum + 1
+
+ # 前ボタン
+ def is_disabled_prev(self):
+ return 'disabled' if self.pageNum == 0 else ''
+
+ # 次ボタン
+ def is_disabled_next(self):
+ if self.pageNum == self.postCnt - 1:
+ return 'disabled'
+ return ''
+
def is_input_birthday_fromat(self):
return self._format_date_string(self.doctor_info_data.birthday)
diff --git a/ecs/jskult-webapp/src/templates/docInfo.html b/ecs/jskult-webapp/src/templates/docInfo.html
index e9214447..1202faee 100644
--- a/ecs/jskult-webapp/src/templates/docInfo.html
+++ b/ecs/jskult-webapp/src/templates/docInfo.html
@@ -14,169 +14,22 @@
formBtDisabled();
}
+
-
-
-
-
-
-
-