{"type":"doc","content":[{"type":"paragraph","attrs":{"id":"9855af83-c047-4bb8-b8c1-e408b8b8ad30","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"问题"},{"type":"hardBreak","attrs":{"id":"30d9b70c-425a-4ff7-b59c-219b5efce9b5"}},{"type":"text","text":"一个项目十几个底稿模块,每人同时跟多个。排期靠经验,常有人爆单、有人闲置。用 Python 按模块工时和人数算负荷,输出排期表,让忙闲均衡。"}]},{"type":"paragraph","attrs":{"id":"0c17be40-70ec-4788-8c8e-f242179b2937","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"示例代码"}]},{"type":"paragraph","attrs":{"id":"a5703615-f3d0-4446-bc67-e39839ba1887","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"plaintext"}]},{"type":"codeBlock","attrs":{"id":"7108d418-d994-42d5-8999-3229a9ed3f90","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"def schedule(modules, daily_hours=8):\n plan = []\n day, used = 1, 0\n for name, hours in modules:\n while hours > 0:\n cap = daily_hours - used\n alloc = min(cap, hours)\n plan.append((name, day, alloc))\n hours -= alloc\n used += alloc\n if used >= daily_hours:\n day, used = day + 1, 0\n return plan\n\nmods = [(\"货币资金\", 16), (\"收入\", 40), (\"成本\", 32), (\"函证\", 24)]\nfor row in schedule(mods):\n print(row)\n"}]},{"type":"paragraph","attrs":{"id":"9ba11dcc-6b7d-4b47-b21e-6e010b3b7b58","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"关键点"}]},{"type":"bulletList","attrs":{"id":"7f23b3a9-6f20-4bbd-9cfd-4e90eba71285","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"0ba5066a-dd72-4918-8773-e2c341c18516"},"content":[{"type":"paragraph","attrs":{"id":"5c17aeb6-91fd-4c47-be75-2c440ab73158","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"排期本质是把“模块工时”塞进“每人每天容量”的装箱问题;单人顺序排用累加即可,多人并行要按人分桶。"}]}]},{"type":"listItem","attrs":{"id":"d3471dd0-e919-45f7-8aa1-a1e43a07dfc3"},"content":[{"type":"paragraph","attrs":{"id":"9e1a3ea6-464e-4fc3-9412-ce32b3fcfa01","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"输出 (模块, 第几天, 当天工时) 即简易甘特,谁第几天做什么一目了然。"}]}]},{"type":"listItem","attrs":{"id":"df6fc800-e671-4727-b05a-fcc05d7622d2"},"content":[{"type":"paragraph","attrs":{"id":"a47de187-673c-429f-8455-dc3c17bc17db","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"关键路径在最长链(如“函证回收”卡住收入确认),排期先排依赖链再填空隙。"}]}]}]},{"type":"paragraph","attrs":{"id":"fb2d8e60-ae39-4395-9cf9-473facc5d810","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"小结"},{"type":"hardBreak","attrs":{"id":"9c7cb51e-a130-4d69-8f40-cf1240152a9b"}},{"type":"text","text":"项目排期 = 工时装箱 + 依赖排链。Python 把经验活变成可计算的负荷表,忙闲一眼看清。"}]},{"type":"horizontalRule","attrs":{"id":"a7fe0062-5bd5-4496-b823-8c391dcff366","isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"b035c76e-70a0-4db9-b08c-160e4f118a62","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"你排期最头疼的是“依赖卡点”还是“人手不够”?评论区说。"}]},{"type":"paragraph","attrs":{"id":"91ddf660-1c8a-422a-9fc9-0bdb9442f37c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"如果有用,点赞收藏关注,留下审计难题。下一系列你希望我写“审计风险预警 dashboard”还是“报告一键成稿”?评论区点菜。"}]},{"type":"paragraph","attrs":{"id":"baadc0f2-0642-4d09-bf16-76cc0e2ea424","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"会计师事务所的一名注册会计师"}]}]}