- MES(B): 工单/BOM/备料/工序字典/PLC下发/拧紧/扫码报工/半成品/AGV/追溯逻辑,WMS与海康RCS客户端,看板Redis缓存API(概览/设备/进度/报警/趋势)+SSE - WMS(C): JWT滑动续签、Excel导入、盘点、内部API、种子数据、独立Postgres配置 - WMS客户端(E): Go网关8891反向代理+内嵌Vue3十页 - 工位终端(D): SQLite本地缓存+模拟拧紧源+内嵌Vue3页面 - Dashboard(A): 看板数据改接MES内部缓存API,SSE实时刷新+vite代理 - 清理各项目球形磨遗留代码,新增部署手册.md
38 lines
859 B
Go
38 lines
859 B
Go
package handler
|
|
|
|
import (
|
|
"net/http"
|
|
"strconv"
|
|
|
|
"bj_power_workstation/internal/svc"
|
|
)
|
|
|
|
// tighteningListHandler GET /api/tightening/list?sn=&only_pending=true&limit=100
|
|
// 查询本地 torque_results(最新优先)。
|
|
func tighteningListHandler(ctx *svc.ServiceContext) http.HandlerFunc {
|
|
return func(w http.ResponseWriter, r *http.Request) {
|
|
q := r.URL.Query()
|
|
sn := q.Get("sn")
|
|
|
|
onlyPending := false
|
|
if v, err := strconv.ParseBool(q.Get("only_pending")); err == nil {
|
|
onlyPending = v
|
|
}
|
|
|
|
limit := atoi(q.Get("limit"), 100)
|
|
if limit <= 0 || limit > 500 {
|
|
limit = 500
|
|
}
|
|
|
|
list, err := ctx.Store.ListTorqueResults(sn, onlyPending, limit)
|
|
if err != nil {
|
|
fail(w, http.StatusInternalServerError, "查询拧紧结果失败:"+err.Error())
|
|
return
|
|
}
|
|
ok(w, map[string]any{
|
|
"total": len(list),
|
|
"list": list,
|
|
})
|
|
}
|
|
}
|