diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_base_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_base_mapper.py index 4d8bdbb2..db54cb40 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_base_mapper.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_base_mapper.py @@ -1,7 +1,7 @@ -from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import ( - UltmarcTableMapper, -) -from src.batch.ultmarc.utmp_tables.tables.com_prefc_med_base import ComPrefcMedBase +from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import \ + UltmarcTableMapper +from src.batch.ultmarc.utmp_tables.tables.com_prefc_med_base import \ + ComPrefcMedBase class ComPrefcMedBaseMapper(UltmarcTableMapper): @@ -201,121 +201,6 @@ class ComPrefcMedBaseMapper(UltmarcTableMapper): **self.record.to_sql_parameter(), } - def clear_query_parameter(self): - # 修正のレコードだった場合はNULLに変換する - # 情報年月日 - if self.record.info_date == "@": - self.query_parameter["info_date"] = None - # 案内用ホームページアドレス - if self.record.home_page == "@": - self.query_parameter["home_page"] = None - # 院内処方フラグ - if self.record.hppre_flg == "@": - self.query_parameter["hppre_flg"] = None - # 院外処方フラグ - if self.record.expre_flg == "@": - self.query_parameter["expre_flg"] = None - # 治験の実施 - if self.record.trial_flg == "@": - self.query_parameter["trial_flg"] = None - self.query_parameter["trial_cont_count"] = None - self.query_parameter["trial_whet_from"] = None - self.query_parameter["trial_whet_to"] = None - # 保有する施設設備フラグ - if self.record.equipment_flg == "@": - self.query_parameter["equipment_flg"] = None - # 対応することができる疾患・治療の内容フラグ - if self.record.cos_disease_flg == "@": - self.query_parameter["cos_disease_flg"] = None - # 対応することができる短期滞在手術フラグ - if self.record.cos_surgery == "@": - self.query_parameter["cos_surgery"] = None - # 専門外来フラグ - if self.record.specialclinic_flg == "@": - self.query_parameter["specialclinic_flg"] = None - # 地域医療連携体制_窓口設置フラグ - if self.record.establishment_flg == "@": - self.query_parameter["establishment_flg"] = None - # 地域医療連携体制_地域連携パスフラグ - if self.record.critical_flg == "@": - self.query_parameter["critical_flg"] = None - # 入院診療計画策定時における院内の連携体制 - if self.record.cop_system == "@": - self.query_parameter["cop_system"] = None - # オーダリングシステム - if self.record.sys_exists_flg == "@": - self.query_parameter["sys_exists_flg"] = None - self.query_parameter["sys_inspection"] = None - self.query_parameter["sys_prescription"] = None - self.query_parameter["sys_reserv"] = None - # ICDコード利用フラグ - if self.record.icduse_flg == "@": - self.query_parameter["icduse_flg"] = None - # 電子カルテフラク - if self.record.echart_flg == "@": - self.query_parameter["echart_flg"] = None - # 専任従事者 - if self.record.fulltime_flg == "@": - self.query_parameter["fulltime_flg"] = None - self.query_parameter["fulltime_count"] = None - # 病床患者数平均 - if self.record.ge_patient_avg == "@": - self.query_parameter["ge_patient_avg"] = None - self.query_parameter["mt_patient_avg"] = None - self.query_parameter["mc_patient_avg"] = None - self.query_parameter["ca_patient_avg"] = None - self.query_parameter["pys_patient_avg"] = None - self.query_parameter["inf_patient_avg"] = None - self.query_parameter["tub_patient_avg"] = None - self.query_parameter["patient_avg_sum"] = None - self.query_parameter["patient_avg_from"] = None - self.query_parameter["patient_avg_to"] = None - # 患者数平均 - if self.record.cl_patient_avg == "@": - self.query_parameter["cl_patient_avg"] = None - self.query_parameter["cl_patient_avg_from"] = None - self.query_parameter["cl_patient_avg_to"] = None - # 患者数平均 - if self.record.hm_patient_avg == "@": - self.query_parameter["hm_patient_avg"] = None - self.query_parameter["hm_patient_avg_from"] = None - self.query_parameter["hm_patient_avg_to"] = None - # 患者数延数 - if self.record.ge_patient_ex == "@": - self.query_parameter["ge_patient_ex"] = None - self.query_parameter["mt_patient_ex"] = None - self.query_parameter["mc_patient_ex"] = None - self.query_parameter["ca_patient_ex"] = None - self.query_parameter["pys_patient_ex"] = None - self.query_parameter["tub_patient_ex"] = None - self.query_parameter["inf_patient_ex"] = None - self.query_parameter["patient_ex_sum"] = None - self.query_parameter["patient_ex_from"] = None - self.query_parameter["patient_ex_to"] = None - # 患者数延数 - if self.record.cl_patient_ex == "@": - self.query_parameter["cl_patient_ex"] = None - self.query_parameter["cl_patient_ex_from"] = None - self.query_parameter["cl_patient_ex_to"] = None - # 患者数延数 - if self.record.hm_patient_ex == "@": - self.query_parameter["hm_patient_ex"] = None - self.query_parameter["hm_patient_ex_from"] = None - self.query_parameter["hm_patient_ex_to"] = None - # 平均在院日数 - if self.record.ge_stay_avg == "@": - self.query_parameter["ge_stay_avg"] = None - self.query_parameter["mt_stay_avg"] = None - self.query_parameter["mc_stay_avg"] = None - self.query_parameter["ca_stay_avg"] = None - self.query_parameter["pys_stay_avg"] = None - self.query_parameter["tub_stay_avg"] = None - self.query_parameter["inf_stay_avg"] = None - self.query_parameter["stay_avg_sum"] = None - self.query_parameter["stay_avg_from"] = None - self.query_parameter["stay_avg_to"] = None - return - def make_query(self): # 『修正区分がB(修正)かつ追加削除区分が1(退職)』の場合、物理削除 if self.record.maint_flag == "B" and self.record.adddel_div == "1": @@ -327,8 +212,9 @@ class ComPrefcMedBaseMapper(UltmarcTableMapper): return def __make_upsert_query(self): - # 修正のレコードだった場合はNULLに変換する - self.clear_query_parameter() + + # 「@」による項目クリアを設定 + self.__set_clearing_item() # レコードの存在確認 record_count = self.db.execute_select( @@ -488,5 +374,116 @@ class ComPrefcMedBaseMapper(UltmarcTableMapper): update_query = self.UPDATE_QUERY.format(update_columns=update_columns) return update_query - def __clear_query_parameter(self): - self + def __set_clearing_item(self): + # 情報年月日 + if self.record.info_date == "@": + self.query_parameter["info_date"] = None + # 案内用ホームページアドレス + if self.record.home_page == "@": + self.query_parameter["home_page"] = None + # 院内処方フラグ + if self.record.hppre_flg == "@": + self.query_parameter["hppre_flg"] = None + # 院外処方フラグ + if self.record.expre_flg == "@": + self.query_parameter["expre_flg"] = None + # 治験の実施 + if self.record.trial_flg == "@": + self.query_parameter["trial_flg"] = None + self.query_parameter["trial_cont_count"] = None + self.query_parameter["trial_whet_from"] = None + self.query_parameter["trial_whet_to"] = None + # 保有する施設設備フラグ + if self.record.equipment_flg == "@": + self.query_parameter["equipment_flg"] = None + # 対応することができる疾患・治療の内容フラグ + if self.record.cos_disease_flg == "@": + self.query_parameter["cos_disease_flg"] = None + # 対応することができる短期滞在手術フラグ + if self.record.cos_surgery == "@": + self.query_parameter["cos_surgery"] = None + # 専門外来フラグ + if self.record.specialclinic_flg == "@": + self.query_parameter["specialclinic_flg"] = None + # 地域医療連携体制_窓口設置フラグ + if self.record.establishment_flg == "@": + self.query_parameter["establishment_flg"] = None + # 地域医療連携体制_地域連携パスフラグ + if self.record.critical_flg == "@": + self.query_parameter["critical_flg"] = None + # 入院診療計画策定時における院内の連携体制 + if self.record.cop_system == "@": + self.query_parameter["cop_system"] = None + # オーダリングシステム + if self.record.sys_exists_flg == "@": + self.query_parameter["sys_exists_flg"] = None + self.query_parameter["sys_inspection"] = None + self.query_parameter["sys_prescription"] = None + self.query_parameter["sys_reserv"] = None + # ICDコード利用フラグ + if self.record.icduse_flg == "@": + self.query_parameter["icduse_flg"] = None + # 電子カルテフラク + if self.record.echart_flg == "@": + self.query_parameter["echart_flg"] = None + # 専任従事者 + if self.record.fulltime_flg == "@": + self.query_parameter["fulltime_flg"] = None + self.query_parameter["fulltime_count"] = None + # 病床患者数平均 + if self.record.ge_patient_avg == "@": + self.query_parameter["ge_patient_avg"] = None + self.query_parameter["mt_patient_avg"] = None + self.query_parameter["mc_patient_avg"] = None + self.query_parameter["ca_patient_avg"] = None + self.query_parameter["pys_patient_avg"] = None + self.query_parameter["inf_patient_avg"] = None + self.query_parameter["tub_patient_avg"] = None + self.query_parameter["patient_avg_sum"] = None + self.query_parameter["patient_avg_from"] = None + self.query_parameter["patient_avg_to"] = None + # 患者数平均 + if self.record.cl_patient_avg == "@": + self.query_parameter["cl_patient_avg"] = None + self.query_parameter["cl_patient_avg_from"] = None + self.query_parameter["cl_patient_avg_to"] = None + # 患者数平均 + if self.record.hm_patient_avg == "@": + self.query_parameter["hm_patient_avg"] = None + self.query_parameter["hm_patient_avg_from"] = None + self.query_parameter["hm_patient_avg_to"] = None + # 患者数延数 + if self.record.ge_patient_ex == "@": + self.query_parameter["ge_patient_ex"] = None + self.query_parameter["mt_patient_ex"] = None + self.query_parameter["mc_patient_ex"] = None + self.query_parameter["ca_patient_ex"] = None + self.query_parameter["pys_patient_ex"] = None + self.query_parameter["tub_patient_ex"] = None + self.query_parameter["inf_patient_ex"] = None + self.query_parameter["patient_ex_sum"] = None + self.query_parameter["patient_ex_from"] = None + self.query_parameter["patient_ex_to"] = None + # 患者数延数 + if self.record.cl_patient_ex == "@": + self.query_parameter["cl_patient_ex"] = None + self.query_parameter["cl_patient_ex_from"] = None + self.query_parameter["cl_patient_ex_to"] = None + # 患者数延数 + if self.record.hm_patient_ex == "@": + self.query_parameter["hm_patient_ex"] = None + self.query_parameter["hm_patient_ex_from"] = None + self.query_parameter["hm_patient_ex_to"] = None + # 平均在院日数 + if self.record.ge_stay_avg == "@": + self.query_parameter["ge_stay_avg"] = None + self.query_parameter["mt_stay_avg"] = None + self.query_parameter["mc_stay_avg"] = None + self.query_parameter["ca_stay_avg"] = None + self.query_parameter["pys_stay_avg"] = None + self.query_parameter["tub_stay_avg"] = None + self.query_parameter["inf_stay_avg"] = None + self.query_parameter["stay_avg_sum"] = None + self.query_parameter["stay_avg_from"] = None + self.query_parameter["stay_avg_to"] = None + return