lk: add current month as option 1 for timesheet

This commit is contained in:
Денис Кривоченко
2026-07-26 17:41:55 +07:00
parent c6bc67a98d
commit 94bd664be8
+12 -6
View File
@@ -205,6 +205,7 @@ async def send_dynamic_lk_main_menu(msg: Message, user_id: str):
async def send_tabel_months_menu(msg: Message, user_id: str): async def send_tabel_months_menu(msg: Message, user_id: str):
now = datetime.now() now = datetime.now()
m0 = now # Текущий месяц
m1 = now.replace(day=1) - timedelta(days=1) # Прошлый месяц (M-1) m1 = now.replace(day=1) - timedelta(days=1) # Прошлый месяц (M-1)
m2 = m1.replace(day=1) - timedelta(days=1) # Позапрошлый месяц (M-2) m2 = m1.replace(day=1) - timedelta(days=1) # Позапрошлый месяц (M-2)
m3 = m2.replace(day=1) - timedelta(days=1) # За два месяца (M-3) m3 = m2.replace(day=1) - timedelta(days=1) # За два месяца (M-3)
@@ -214,15 +215,17 @@ async def send_tabel_months_menu(msg: Message, user_id: str):
7: "Июль", 8: "Август", 9: "Сентябрь", 10: "Октябрь", 11: "Ноябрь", 12: "Декабрь" 7: "Июль", 8: "Август", 9: "Сентябрь", 10: "Октябрь", 11: "Ноябрь", 12: "Декабрь"
} }
m0_str = f"{months_ru[m0.month]} {m0.year} г."
m1_str = f"{months_ru[m1.month]} {m1.year} г." m1_str = f"{months_ru[m1.month]} {m1.year} г."
m2_str = f"{months_ru[m2.month]} {m2.year} г." m2_str = f"{months_ru[m2.month]} {m2.year} г."
m3_str = f"{months_ru[m3.month]} {m3.year} г." m3_str = f"{months_ru[m3.month]} {m3.year} г."
menu_text = ( menu_text = (
"⏱ <b>Выберите месяц для просмотра табеля:</b>\n\n" "⏱ <b>Выберите месяц для просмотра табеля:</b>\n\n"
f"{EMOJI_DIGITS['1']}{m1_str}\n" f"{EMOJI_DIGITS['1']}{m0_str}\n"
f"{EMOJI_DIGITS['2']}{m2_str}\n" f"{EMOJI_DIGITS['2']}{m1_str}\n"
f"{EMOJI_DIGITS['3']}{m3_str}\n\n" f"{EMOJI_DIGITS['3']}{m2_str}\n"
f"{EMOJI_DIGITS['4']}{m3_str}\n\n"
f"<i>{EMOJI_DIGITS['9']} — Назад\n{EMOJI_DIGITS['0']} — В главное меню</i>" f"<i>{EMOJI_DIGITS['9']} — Назад\n{EMOJI_DIGITS['0']} — В главное меню</i>"
) )
@@ -406,20 +409,23 @@ async def lk_router_handler(msg: Message):
elif cmd == "9": elif cmd == "9":
set_state(user_id, "LK_MODE") set_state(user_id, "LK_MODE")
await send_dynamic_lk_main_menu(msg, user_id) await send_dynamic_lk_main_menu(msg, user_id)
elif cmd in ["1", "2", "3"]: elif cmd in ["1", "2", "3", "4"]:
log_menu_stats(user_id, "Личный кабинет", f"Просмотр табеля (вариант {cmd})") log_menu_stats(user_id, "Личный кабинет", f"Просмотр табеля (вариант {cmd})")
await msg.answer(lk_tabel_loading(EMOJI_DIGITS), parse_mode="html") await msg.answer(lk_tabel_loading(EMOJI_DIGITS), parse_mode="html")
try: try:
card_id = await asyncio.to_thread(get_card_id_from_ad, user_id) card_id = await asyncio.to_thread(get_card_id_from_ad, user_id)
now = datetime.now() now = datetime.now()
m0 = now
m1 = now.replace(day=1) - timedelta(days=1) m1 = now.replace(day=1) - timedelta(days=1)
m2 = m1.replace(day=1) - timedelta(days=1) m2 = m1.replace(day=1) - timedelta(days=1)
if cmd == "1": if cmd == "1":
target_date = m1 # Прошлый месяц target_date = m0 # Текущий месяц
elif cmd == "2": elif cmd == "2":
target_date = m2 # Позапрошлый месяц target_date = m1 # Прошлый месяц
elif cmd == "3": elif cmd == "3":
target_date = m2 # Позапрошлый месяц
elif cmd == "4":
target_date = m2.replace(day=1) - timedelta(days=1) # За два месяца target_date = m2.replace(day=1) - timedelta(days=1) # За два месяца
tabel_report = await asyncio.to_thread( tabel_report = await asyncio.to_thread(