# 工时填写 ## 下次怎么叫 AI 填写 推荐直接这样说: ```text 填写工时,时间从 6月26日 到 6月30日,不备份,填完提交审核。 日志按工时考核月取 Obsidian 日志文件,内容按日期下面编号行原样填写,不带日期标题。 ``` 如果不确定是否备份,可以这样说: ```text 填写工时,时间从 7月26日 到 7月30日。先问我要不要备份。 ``` ## 固定路径 - Obsidian 根目录:`F:\AI\Obsidian` - 工时日志目录:`F:\AI\Obsidian\日志\2026` - 工时工具:`D:\softWare\timetrack-ui\项目工时管理.exe` - 长期记录:`F:\AI\Obsidian\agent.md` 换电脑后如果路径变了,先告诉 AI 新路径。 ## 日志文件选择规则 工时系统按考核月统计,周期通常是: - 上月 26 日到本月 25 日,属于本月考核月。 因此日志文件按考核月取: - `2026-05-26` 到 `2026-06-25`:取 `日志6月.md` - `2026-06-26` 到 `2026-07-25`:取 `日志7月.md` - `2026-07-26` 到 `2026-08-25`:取 `日志8月.md` 例如用户说“填写 6月26日到6月30日”,应取: ```text F:\AI\Obsidian\日志\2026\日志7月.md ``` ## 工作内容提取规则 日志格式示例: ```text 06.13 周六: 1.流转: 2.解决: 、 3.新增语音可见即可说功能 4.车控模块添加可见即可说的功能 5.分析鱼快倒车来电声音会从车机发出 ``` 提交到工时系统时只填日期标题下面的编号内容: ```text 1.流转: 2.解决: 、 3.新增语音可见即可说功能 4.车控模块添加可见即可说的功能 5.分析鱼快倒车来电声音会从车机发出 ``` 注意: - 不填写 `06.13 周六:` 这种日期标题。 - 保留 `1.流转:`。 - 保留 `2.解决:`,即使后面为空或只有符号。 - 保留编号行原始顺序。 - 去掉日期段落之间多余空行。 - 不要自己改写、总结或删减工作内容。 ## 填写原则 只提交同时满足以下条件的日期: - HR 系统有考勤工时。 - 日志内容非空。 - 工时系统当前未登记或未提交。 跳过以下日期: - HR 工时为空或系统提示“没有考勤工时”。 - 日志为空。 - 已提交审核或已审核通过。 默认填写: - 项目名称:固定选择 `座舱类迭代项目集`。 - 比例:`100%` - 单日一条明细。 - 工作内容:取日志中对应日期编号行。 - 提交后点击或调用“提交审核”。 项目注意事项: - 用户已明确要求项目名称必须选择 `座舱类迭代项目集`。 - 如果系统配置或接口逻辑会把项目自动校正到其他项目,应先停止提交并告诉用户,不要继续按错误项目提交。 - 提交后必须查询详情确认项目名称或项目 ID 对应的是 `座舱类迭代项目集`。 ## 工时工具连接方式 优先使用 Electron 调试接口,比坐标点击稳定。 如果工时工具已打开但调试端口不可用,可以重启并带调试端口: ```powershell $exe = 'D:\softWare\timetrack-ui\项目工时管理.exe' Get-Process | Where-Object { $_.Path -eq $exe } | Stop-Process -Force Start-Sleep -Seconds 2 Start-Process -FilePath $exe -ArgumentList '--remote-debugging-port=9222','--remote-allow-origins=*' ``` 检查调试端口: ```powershell Invoke-RestMethod -Uri 'http://127.0.0.1:9222/json/version' Invoke-RestMethod -Uri 'http://127.0.0.1:9222/json/list' ``` 页面通常类似: ```text file:///D:/softWare/timetrack-ui/resources/app.asar/dist/index.html#/home ``` ## 常用接口线索 在页面上下文中调用接口,使用工具已有登录态,不要打印 token、密码或刷新令牌。 常用接口: ```text GET /act/xmProjectWorktime/getHomeCalendarWorkTime/{考核月} GET /act/xmProject/xmProjectList?userId={userId}&workDate={YYYY-MM-DD} GET /act/hrUserWorktime/detail?userId={userId}&workDate={YYYY-MM-DD} GET /act/xmProjectWorktime/{id} POST /act/xmProjectWorktime/save ``` 注意: - 真正提交审核使用 `POST /act/xmProjectWorktime/save`。 - 不要直接用 `/act/xmProjectWorktime/checkSubmitTask` 代替提交,之前直接调用会返回权限不足。 - 如果接口返回“用户凭证已过期”,优先让工具刷新登录态,或让用户重新登录;不要记录或展示密码/token。 ## 提交 Payload 参考 字段形状参考: ```json { "id": "", "state": "", "userId": "1399", "deptId": 0, "workDate": "2026-06-26", "hrHours": "8", "totalHours": "", "agentFlag": 0, "detailList": [ { "id": "", "workId": "", "projectId": "项目ID", "hours": "", "ratio": 100, "workContent": "日志编号内容", "remark": "" } ], "createdBy": "", "createdTime": "", "updatedBy": "", "updatedTime": "", "appVersion": 1 } ``` ## 提交后校验 提交后必须重新查日历和详情: - `checkFlag: 3` 表示等待审核/已提交审核。 - 有 `id`、`lastTaskId`、`procInstId` 说明流程已生成。 - 再查详情确认 `workContent`、`projectId`、`ratio` 写入正确。 最终回复用户时列出: - 总共提交几条。 - 成功日期。 - 跳过日期和原因。 - 每天实际提交的工作内容。 - 每天实际选择的项目名称、比例和 HR 工时。 - 明确告诉用户“填写了什么”,包括实际写入系统的工作内容。 - 如果发现系统自动校正项目或内容与预期不一致,要说明并标记为风险。 ## 已知经验 - 2026-06-25 已提交审核,`checkFlag=3`。 - 2026-06-26 到 2026-06-30 已提交审核,共 5 条。 - 2026-07 考核月系统配置曾将项目从 `座舱类迭代项目集` 自动校正为 `基于国产高性能SOC边缘算力的设备自主诊断与预警系统`。用户后续明确要求项目名称必须选择 `座舱类迭代项目集`,如果再次出现自动校正,应先停止并告知用户。 ## 安全要求 - 操作开始前先确认是否备份,除非用户已明确说“不备份”。 - 不在文档中保存密码、token、refresh token、验证码。 - 不覆盖用户已有日志内容。 - 不删除或回退用户文件。 - 完成后把关键结果追加到 `agent.md`。