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(); } + - - - - - - - @@ -193,30 +46,17 @@ if (!isset($isDBSuccess)) {
- - - - - - - - + + + @@ -226,9 +66,7 @@ if (!isset($isDBSuccess)) {
- - + - + {{ultmarc.is_pageNum_view()}}/{{ultmarc.postCnt}} - - +
- + @@ -259,37 +97,16 @@ if (!isset($isDBSuccess)) { - @@ -309,18 +126,6 @@ if (!isset($isDBSuccess)) { - {% for sosiety_data in ultmarc.sosiety_data %} @@ -348,16 +153,6 @@ if (!isset($isDBSuccess)) { {% endfor %} -
診療科目: - {% for trt_coursed_data in ultmarc.trt_coursed_data %} - + {% endfor %} - - - {% for i in range(5-ultmarc.is_input_trt_course_data_size())%} {% endfor %} -
{{ultmarc.is_data_string_empty_fromat(sosiety_data.sosiety_cd)}}{{ultmarc.is_data_string_empty_fromat(specialist_license_data.specialist_license_name)}}
@@ -371,42 +166,16 @@ if (!isset($isDBSuccess)) { - - - - - - - - - - - - {% for doctor_wrkplace_data in ultmarc.doctor_wrkplace_data %} {% if ultmarc.is_data_string_empty_fromat(doctor_wrkplace_data.dcf_dsf_inst_cd) != ''%} @@ -421,16 +190,6 @@ if (!isset($isDBSuccess)) { {% endif %} {% endfor %} - {% 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) != ''%} @@ -444,43 +203,10 @@ if (!isset($isDBSuccess)) { {% endif %} {% endfor %} - - - - - - - - - -
ULT施設コード 勤務先略名 所属部科名 役職名 職位 開始年月日 終了年月日
- - + \ No newline at end of file diff --git a/ecs/jskult-webapp/src/templates/docSearch.html b/ecs/jskult-webapp/src/templates/docSearch.html index 2168aa3e..c3168212 100644 --- a/ecs/jskult-webapp/src/templates/docSearch.html +++ b/ecs/jskult-webapp/src/templates/docSearch.html @@ -31,7 +31,7 @@ -
+ @@ -113,10 +113,11 @@ - + - + + @@ -142,7 +143,7 @@ - + \ No newline at end of file