{"id":28729788,"url":"https://github.com/didi/worktrans","last_synced_at":"2025-06-15T17:11:02.868Z","repository":{"id":86305870,"uuid":"486936154","full_name":"didi/WorkTrans","owner":"didi","description":null,"archived":false,"fork":false,"pushed_at":"2022-05-04T15:11:14.000Z","size":2470,"stargazers_count":15,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-17T12:47:37.631Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/didi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-04-29T10:49:29.000Z","updated_at":"2024-11-09T14:46:54.000Z","dependencies_parsed_at":"2023-03-03T08:15:36.970Z","dependency_job_id":null,"html_url":"https://github.com/didi/WorkTrans","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/didi/WorkTrans","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didi%2FWorkTrans","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didi%2FWorkTrans/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didi%2FWorkTrans/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didi%2FWorkTrans/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/didi","download_url":"https://codeload.github.com/didi/WorkTrans/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didi%2FWorkTrans/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260016055,"owners_count":22946321,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-15T17:11:01.563Z","updated_at":"2025-06-15T17:11:02.859Z","avatar_url":"https://github.com/didi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WorkTrans智能排班系统\nWorkTrans智能排班系统是一款专门为广大的中小型零售业者提供智能排版系统，避免负责人因不了解业务，预估错销量等原因造成人员浪费或者人员短缺问题。\n\n## WorkTrans核心能力\n1. 在排班系统中加入深度学习算法，预测下一阶段的交易量，并通过这个交易量计算劳动工时，并进行最终的排班\n2. 这套系统保证了劳动的合规性，输出的排班结果在不违反硬性规则的前提下尽量减少软性规则的违反。\n3. 自动化预测，通过配置排班周期等信息自动生成排版结果\n4. 可配置规则模型，包括排班合规性、员工匹配属性、组合规则、拆分规则等，使得最终的排班结果更加合理。\n\n## 功能模块说明\n### POS值预测模块\n本模块主要使用了一种加权平均方法和三种时序预测模型prophet、LSTM、Seq2Seq模型对POS进行预测，从`startDate`到`endDate`每15分钟一个预测值。\n\n### 劳动力工时预测模块\n解析公司id、预测类型、开始结束时间、任务数组等参数，根据第一阶段输出（POS预测模块）预测出的POS数据和劳动力标准计算出所需的劳动力工时。\n\n### 劳动力人数预测模块\n1. 解析参数获得预测需要的各项参数，比如公司id、预测类型、班次模板、预测开始结束日期、组合规则、拆分规则等；\n2. 处理各种规则，读取每天的任务列表和任务列表预测值的上下限，并根据这些规则和任务列表获得预排班矩阵；\n3. 根据预排班矩阵获得劳动力人数预测值。\n\n### 排班结果获取模块\n解析排班的相关参数，如公司id、需要排班的员工，排班方案，排班类型，算法依赖等；以日为单位给需要排班的员工排班，得到最终排班结果。将排班结果保存到数据库并输出。\n\n## 快速开始\n\n#### 1.修改数据库配置\n\n修改数据库配置文件db.py，路径：`basefile/config/db.py`\n\n```python\ndb_config={\n    \"db\" :{\n        'mysql': {\n            'driver': 'mysql',\n            'host': '127.0.0.1',\n            'port': 3306,\n            'database': 'datatest',\n            'user': 'root',\n            'password': 'didi123',\n            'prefix': '',\n            'use_unicode': False\n        }\n    }\n}\n```\n\n#### 2.快速启动项目\n\n我们可以在终端使用`python run.py` 命令快速启动项目，在启动项目时可能需要手动添加`logs\\errors.log`文件\n\n### Demo\n\n如果只是想测试最终的输出结果，可以在PBStatusService.py文件中添加参数运行，路径：`basefile/POC/service/PBStatusService.py`\n\n### API接口\n具体API接口及参数功能说明请参照`Docs\\接口文档.pdf`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdidi%2Fworktrans","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdidi%2Fworktrans","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdidi%2Fworktrans/lists"}