Exemplo n.º 1
0
    def make_patients(self) -> None:
        # patients.jsonのデータを作成する
        self._patients_json = self.json_template_of_patients()

        # patients_sheetからデータを読み取っていく
        for i in range(patients_first_cell, self.patients_count):
            data = {}
            release_date = excel_date(self.patients_sheet.cell(row=i, column=3).value)
            data["No"] = self.patients_sheet.cell(row=i, column=2).value
            data["リリース日"] = release_date.isoformat()
            data["曜日"] = get_weekday(release_date.weekday())
            data["居住地"] = self.patients_sheet.cell(row=i, column=7).value
            # 年代を一旦取得。「10歳未満」と表記されていれば、str型と認識されるので、それを用いて判別する
            age = self.patients_sheet.cell(row=i, column=4).value
            if isinstance(age, int):
                data["年代"] = str(age) + age_display_normal
            else:
                data["年代"] = age
            data["性別"] = self.patients_sheet.cell(row=i, column=5).value
            data["退院"] = None
            # No.の表記にブレが激しいので、ここで"No."に修正(統一)。また、"・"を"、"に置き換える
            data["備考"] = re.sub(
                'NO.|N0.|NO,|N0,|No,', 'No.', str(self.patients_sheet.cell(row=i, column=11).value)
            ).replace("・", "、")
            data["date"] = release_date.strftime("%Y-%m-%d")
            self._patients_json["data"].append(data)

        # No.1の人からリストに追加していくと、降順になるので、reverseで昇順に戻す
        self._patients_json["data"].reverse()
Exemplo n.º 2
0
    def make_patients(self) -> None:
        # patients.jsonのデータを作成する
        self._patients_json = self.json_template_of_patients()

        # patients_sheetからデータを読み取っていく
        for i in range(patients_first_cell, self.patients_count):
            data = {}
            release_date = return_date(self.patients_sheet.cell(row=i, column=3).value)
            data["No"] = self.patients_sheet.cell(row=i, column=2).value
            data["リリース日"] = release_date.isoformat()
            data["曜日"] = get_weekday(release_date.weekday())
            data["居住地"] = self.patients_sheet.cell(row=i, column=7).value
            # 年代を一旦取得。「10歳未満」や「非公表」と表記されていれば、str型と認識されるので、それを用いて判別する
            age = self.patients_sheet.cell(row=i, column=4).value
            if isinstance(age, int):
                data["年代"] = str(age) + age_display_normal
            else:
                # 「非公表」以外は「10歳未満」で統一
                # 「1歳未満」や「10代未満」などの表記があるため
                # TODO: 100歳以上などの表記がどうなうるかは不明なので、それも含めて検討しなおす必要あり
                data["年代"] = age if age_display_unpublished in age else "10" + age_display_min
            data["性別"] = self.patients_sheet.cell(row=i, column=5).value
            data["退院"] = None
            # No.の表記にブレが激しいので、ここで"No."に修正(統一)。また、"・"を"、"に置き換える
            data["備考"] = re.sub(
                'NO.|N0.|NO,|N0,|No,', 'No.', str(self.patients_sheet.cell(row=i, column=11).value)
            ).replace("・", "、")
            data["date"] = release_date.strftime("%Y-%m-%d")
            # 除外する患者以外をデータに含める
            if data["No"] not in exclude_patients:
                self._patients_json["data"].append(data)

        # No.1の人からリストに追加していくと、降順になるので、reverseで昇順に戻す
        self._patients_json["data"].reverse()
Exemplo n.º 3
0
    def make_patients(self) -> None:
        # patients.jsonのデータを作成する
        self._patients_json = self.json_template_of_patients()

        # patients_sheetからデータを読み取っていく
        for i in range(patients_first_cell, self.patients_count):
            data = {}
            release_date = excel_date(
                self.patients_sheet.cell(row=i, column=3).value)
            data["No"] = self.patients_sheet.cell(row=i, column=2).value
            data["リリース日"] = release_date.isoformat()
            data["曜日"] = get_weekday(release_date.weekday())
            data["居住地"] = self.patients_sheet.cell(row=i, column=7).value
            # sheetには年代は数字で乗っているので、現状はこのスタイルだが、まだ「10歳未満」の表記が不明なので、それが判明次第修正する形をとる
            # TODO: 10代未満の表記に関して
            data["年代"] = str(self.patients_sheet.cell(row=i,
                                                      column=4).value) + "代"
            data["性別"] = self.patients_sheet.cell(row=i, column=5).value
            data["退院"] = None
            # No.の表記にブレが激しいので、ここで"No."に修正(統一)。また、"・"を"、"に置き換える
            data["備考"] = re.sub(
                'NO.|N0.|NO,|N0,|No,', 'No.',
                str(self.patients_sheet.cell(row=i, column=11).value)).replace(
                    "・", "、")
            data["date"] = release_date.strftime("%Y-%m-%d")
            self._patients_json["data"].append(data)

        # No.1の人からリストに追加していくと、降順になるので、reverseで昇順に戻す
        self._patients_json["data"].reverse()
Exemplo n.º 4
0
def get_payment(date, start, end, isCancel):
    weekday = int(get_weekday(date))

    if weekday % 6 == 0:
        payment = 0
        for i in xrange(start, end):
            payment += weekend_price[i]
        return payment * 0.5 if isCancel else payment
    else:
        payment = 0
        for i in xrange(start, end):
            payment += workday_price[i]
        return payment * 0.25 if isCancel else payment
Exemplo n.º 5
0
 def make_patients(self) -> None:
     self._patients_json = {
         "data": [],
         "last_update": self.get_last_update()
     }
     for i in range(5, self.patients_count):
         data = {}
         release_date = excel_date(self.sheets.cell(row=i, column=3).value)
         data["No"] = self.sheets.cell(row=i, column=2).value
         data["リリース日"] = release_date.isoformat()
         data["曜日"] = get_weekday(release_date.weekday())
         data["居住地"] = self.sheets.cell(row=i, column=7).value
         data["年代"] = str(self.sheets.cell(row=i, column=4).value) + "代"
         data["性別"] = self.sheets.cell(row=i, column=5).value
         data["退院"] = None
         data["備考"] = re.sub('NO.|N0.|NO,|N0,|No,', 'No.', str(self.sheets.cell(row=i, column=11).value)).replace("・", "、")
         data["date"] = release_date.strftime("%Y-%m-%d")
         self._patients_json["data"].append(data)
     self._patients_json["data"].reverse()