feat: 完成WMS系统权限体系与业务功能迭代

本提交完成了WMS系统的多维度优化升级:
1. 新增RBAC权限系统,支持角色/菜单/按钮三级权限管控
2. 重构库存盘点、物料管理、区域维护等模块的查询筛选与展示逻辑
3. 优化入库/出库/质检等业务流程,完善数据冗余与业务闭环
4. 移除旧装箱表,将装箱逻辑合并到出库主表
5. 新增前端权限判断工具、导出工具与端到端测试用例
6. 补充完善各类注释与数据库字段说明
This commit is contained in:
SunYF
2026-09-03 14:20:37 +08:00
parent 665ff257dc
commit 572fa975bc
101 changed files with 14531 additions and 4692 deletions
+7 -4
View File
@@ -29,26 +29,29 @@ func ordersHandler(ctx *svc.ServiceContext) http.HandlerFunc {
url := ctx.Config.Mes.BaseURL + "/api/internal/order/query?orderNo=" + r.URL.Query().Get("orderNo")
req, err := http.NewRequest(http.MethodGet, url, nil)
if err != nil {
fail(w, http.StatusBadGateway, "构造 MES 请求失败")
// 构造请求失败属代码级异常,返回空列表让备料出库页可降级(仍可手输工单号)
ok(w, []mesOrder{})
return
}
req.Header.Set("X-API-TOKEN", ctx.Config.Mes.Token)
cli := &http.Client{Timeout: 5 * time.Second}
resp, err := cli.Do(req)
if err != nil {
fail(w, http.StatusBadGateway, "无法连接 MES 服务")
// MES 未启用/不可达:优雅降级为空列表,不抛 502 打断备料出库页
// (用户仍可在 prep 页直接手输工单号查询台账;非 MES 场景请用「通用出库」)
ok(w, []mesOrder{})
return
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
fail(w, http.StatusBadGateway, "MES 返回异常")
ok(w, []mesOrder{})
return
}
var body struct {
Data []mesOrder `json:"data"`
}
if err := json.NewDecoder(resp.Body).Decode(&body); err != nil {
fail(w, http.StatusBadGateway, "解析 MES 响应失败")
ok(w, []mesOrder{})
return
}
list := body.Data