吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7164|回复: 108
收起左侧

[原创工具] 薪资计算工具

  [复制链接]
swback 发表于 2024-7-26 11:17
忘记在哪里看到了,模仿着搞了一个一个简洁版,直接上运行截图。

运行效果

运行效果




只需要在配置文件写上日薪,每日上班时间,每日下班时间即可

配置

配置




免费评分

参与人数 9吾爱币 +14 热心值 +6 收起 理由
citynook + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
alomoi + 1 + 1 我很赞同!
866837 + 1 我很赞同!
randomnany + 1 + 1 我很赞同!
xn8023 + 1 一天一百 天黑就得!
TNX + 1 + 1 谢谢@Thanks!
nice2meetu + 1 + 1 热心回复!
zeepr + 1 我很赞同!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| swback 发表于 2024-7-26 13:05
kangta520 发表于 2024-7-26 12:45
谢谢分享。提供源码吗?

import configparser
import time
from datetime import datetime, timedelta
import pystray
from PIL import Image, ImageDraw
import threading
import ctypes
import sys

def read_config(config_file):
    config = configparser.ConfigParser()
    config.read(config_file)
    daily_salary = float(config['work']['daily_salary'])
    start_time = config['work']['start_time']
    end_time = config['work']['end_time']
    return daily_salary, start_time, end_time

def calculate_earnings(daily_salary, start_time, end_time):
    now = datetime.now()
    today = now.date()
   
    start_time = datetime.strptime(start_time, "%H:%M").time()
    end_time = datetime.strptime(end_time, "%H:%M").time()
   
    start_datetime = datetime.combine(today, start_time)
    end_datetime = datetime.combine(today, end_time)
   
    if now < start_datetime:
        earned_amount = 0.00
        time_to_end = end_datetime - start_datetime
    elif now > end_datetime:
        worked_time = end_datetime - start_datetime
        time_to_end = timedelta(0)
    else:
        worked_time = now - start_datetime
        time_to_end = end_datetime - now
   
    if now >= start_datetime and now <= end_datetime:
        worked_hours = worked_time.total_seconds() / 3600
        hourly_rate = daily_salary / ((end_datetime - start_datetime).total_seconds() / 3600)
        earned_amount = worked_hours * hourly_rate
    else:
        earned_amount = 0.00

    hours, remainder = divmod(time_to_end.total_seconds(), 3600)
    minutes, seconds = divmod(remainder, 60)
   
    return round(earned_amount, 4), int(hours), int(minutes), int(seconds)

def create_image(width, height, color1, color2):
    image = Image.new('RGB', (width, height), color1)
    dc = ImageDraw.Draw(image)
    dc.rectangle(
        (width // 2, 0, width, height // 2),
        fill=color2)
    dc.rectangle(
        (0, height // 2, width // 2, height),
        fill=color2)
    return image

def update_tray_icon(icon, config_file):
    daily_salary, start_time, end_time = read_config(config_file)
    while True:
        earnings, hours, minutes, seconds = calculate_earnings(daily_salary, start_time, end_time)
        icon.title = f"已经赚取: &#165;{earnings:.4f}\n距离下班: {hours}小时{minutes}分{seconds}秒"
        time.sleep(1)
def on_quit(icon):
    icon.stop()
def about():
    ctypes.windll.user32.MessageBoxW(0, "该程序由Swback制作", "关于", 0)
def main():
    config_file = 'config.ini'
    icon_image = create_image(64, 64, 'black', 'white')
    icon = pystray.Icon("earnings", icon_image, "请确保config.ini存在")
    icon.menu = pystray.Menu(
        pystray.MenuItem("关于", about),
        pystray.MenuItem("退出", on_quit)
    )
    icon_thread = threading.Thread(target=update_tray_icon, args=(icon, config_file), daemon=True)
    icon_thread.start()
   
    icon.run()

if __name__ == "__main__":
    main()
 楼主| swback 发表于 2024-7-26 11:20
下载地址:https://wwd.lanzouo.com/b0ukhdv1i
密码:7t9s

python打包的,所以虽然功能比较小,但是大小也到了30M
hfhskf2005 发表于 2024-7-26 12:32
lcg888 发表于 2024-7-26 12:34
哈哈哈  这个不错这个不错   
assast 发表于 2024-7-26 12:43
感谢楼主分享
kangta520 发表于 2024-7-26 12:45
谢谢分享。提供源码吗?
289 发表于 2024-7-26 12:48
选择地区
北京市 北京市 朝阳区
税前基本工资
是否缴纳社保缴纳 不缴纳
社保缴纳基数
按照工资
社保基数
是否缴纳公积金缴纳 不缴纳
公积金缴纳基数
按照工资
公积金基数
公积金缴纳比例
12
是否包含专项扣除包含 不包含
子女教育扣除
请选择
继续教育扣除
请选择
?
赡养老人扣除
指定分摊
赡养老人扣除数额
请选择
住房贷款利息扣除
请选择
?
住房租金扣除
请选择
3岁以下婴幼儿照护
请选择
个人养老金
请输入扣除金额
大病医疗扣除需次年纳税人自行扣除,系统暂不支持按月扣除计算
开始计算...
-----
我还以为这种呢!
applepv 发表于 2024-7-26 12:52
上班就等下班的操作,,遥遥无期,,,
 楼主| swback 发表于 2024-7-26 13:05
289 发表于 2024-7-26 12:48
选择地区
北京市 北京市 朝阳区
税前基本工资

哈哈哈,没想那么多.上班写代码,下班还写代码
Iso0215 发表于 2024-7-26 13:05
上班摸鱼道具 有
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-23 02:13

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表