Files
f9-web-ai-test/工作进度/工作进度-22.md
T
yanpeng200212 1f1b184411 新增工资/仓储/生产日报等模块,移除旧考勤模块
- 新增 PayRoll(工资)、Wms(仓储)、Prod(车速/缫丝/考勤/丝片检测/丝片台账/纤检日报/质量日报) 模块
- 新增对应 Domain 实体、Application DTO/Service、Api Controller 与前端页面
- 移除旧 Attendance 考勤模块(Controller/Service/Entity/DTO 及 5 个前端页面),由 Prod/Kaoqin 取代
- 调整路由、仪表盘、Lsjl 流丝记录实体与服务
- 更新业务种子数据与 DbSeeder
- 补充工作进度文档 14-27
2026-10-27 09:09:57 +08:00

76 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 工作进度-22:重启前后端(使选剥茧菜单与代码生效)
> **协作规则(长期生效)**:**每次对话结尾都要生成工作进度**。
> 即在每轮对话结束前,把本轮完成的内容追加为 `工作进度/工作进度-21.md` 之外的 `工作进度-N.md`,
> 并在文档中保留本条规则,方便下一轮接续。
## 一、任务
重启前端与后端,使 19~21 轮的选剥茧模块(新表 / 新接口 / 新菜单)生效。
## 二、进程定位(本项目实际端口)
| 服务 | 端口 | 重启前 PID | 重启后 PID |
| --- | --- | --- | --- |
| 后端 `F9WebAiTest.Api` | **3000** | 23880(正是锁 DLL 的那个) | 8976 |
| 前端 vite | **5173** | 21392 | 13696 |
- 后端端口来自 `backend/F9WebAiTest.Api/Properties/launchSettings.json` 的 `applicationUrl`
- 前端端口 vite 默认 5173
## 三、重启步骤(可复用)
```powershell
# 1) 按 PID 停止(先 netstat 确认,勿误杀其它 dotnet/node)
Stop-Process -Id <后端PID> -Force
Stop-Process -Id <前端PID> -Force
# 2) 启动后端(新窗口,非阻塞)
Start-Process -FilePath "dotnet" -ArgumentList "run" `
-WorkingDirectory "d:/f9webaitest/f9-web-ai-test/backend/F9WebAiTest.Api" -WindowStyle Minimized
# 3) 启动前端(见下方「坑」:npm/node 不在 PATH)
Start-Process -FilePath "C:\Users\32453\.workbuddy\binaries\node\versions\22.22.2-6\node.exe" `
-ArgumentList "node_modules/vite/bin/vite.js" `
-WorkingDirectory "d:/f9webaitest/f9-web-ai-test/web" -WindowStyle Minimized
```
## 四、坑(下次直接照做)
1. **npm / node 不在 PATH**:本机 node 由 workbuddy 管理,路径为
`C:\Users\32453\.workbuddy\binaries\node\versions\22.22.2-6\node.exe`。
`Get-Command npm/node` 返回空 → 必须用**完整路径**启动,不能 `npm run dev`。
2. **`netstat | Select-String ":5|:8"` 会漏掉 3000**:过滤端口时注意 3000 不含 5/8,别误判"后端没运行"。
3. **后端 DLL 被运行中的 Api 进程锁定**(MSB3021 / MSB3027):编译前先停后端,或只编译
Application/Infrastructure 项目并单独筛 `error CS`。
4. 多个 dotnet 进程并存(3916 / 9636 / 11548 / 29256 …),**必须按端口定位**再杀,不能
`Stop-Process -Name dotnet` 全杀。
## 五、验证结果
| 检查项 | 结果 |
| --- | --- |
| 后端 `GET /api/prod/xjrb` | **401**(已注册、需认证)→ Controller 已加载 |
| 前端 `http://localhost:5173` | **200** → vite 正常 |
| 数据库 `backend/F9WebAiTest.Api/f9_web_ai_test_rbac.db` | 最后修改 **2026/10/26 10:49**(重启时刻)→ seed 已执行,菜单已写入 |
> 注:`bin/Debug/net8.0/` 下另有一份同名 db(10/20 的旧副本),**实际运行时用的是项目根目录下那份**。
## 六、用户待确认
1. **重新登录**(菜单随登录接口下发),用 **admin** 角色查看左侧是否出现「生产-选剥匣」→
选茧日报 / 选茧计划 / 选茧班组
2. 非 admin 角色需在「角色管理」手动勾选这三个菜单
## 七、遗留(承接 20/21 轮)
- 标包重仍是 localStorage 临时方案,建议改 `/sys/registry`
- 计划里「领料单ID」为手填数字框,老系统是选择原料出库单
- 日报与计划暂未做联动
## 八、下次接续提示
- 改后端代码后必须**重启后端**才生效;改前端 vite 会自动热更新
- 重启前记得先停后端,否则 DLL 锁定导致编译复制失败
- **每轮对话结尾记得生成本工作进度文档**