Files
Obsidian/工具相关/工时填写.md
T
2026-11-05 14:35:04 +08:00

215 lines
6.1 KiB
Markdown

# 工时填写
## 下次怎么叫 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`。