29 lines
948 B
Go
29 lines
948 B
Go
package handler
|
|||
|
|
|
||
|
|
import (
|
||
|
|
"net/http"
|
||
|
|
|
||
|
|
"bj_power_mes/common/httpx"
|
||
|
|
"bj_power_mes/internal/logic"
|
||
|
|
"bj_power_mes/internal/svc"
|
||
|
|
)
|
||
|
|
|
||
|
|
// MaterialDeliveryProgressHandler GET /api/v1/material-requests/progress?orderNo=&materialCode=&page=&pageSize=
|
||
|
|
//
|
||
|
|
// 配送进度(只读聚合):WMS 台账「需求/已发出/已退回/已消耗/净领用/缺口」
|
||
|
|
// + MES 备料单「已接料」→ 派生「在途 / 线边」。
|
||
|
|
// 不新增账本、不双写:两边各管各的真源字段,本接口只做合成展示。
|
||
|
|
func MaterialDeliveryProgressHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||
|
|
return func(w http.ResponseWriter, r *http.Request) {
|
||
|
|
q := r.URL.Query()
|
||
|
|
data, err := logic.New(svcCtx).DeliveryProgress(r.Context(),
|
||
|
|
q.Get("orderNo"), q.Get("materialCode"),
|
||
|
|
atoiDefault(q.Get("page"), 1), atoiDefault(q.Get("pageSize"), 50))
|
||
|
|
if err != nil {
|
||
|
|
httpx.Fail(w, 3204, err.Error())
|
||
|
|
return
|
||
|
|
}
|
||
|
|
httpx.Ok(w, data)
|
||
|
|
}
|
||
|
|
}
|