Files
2026-10-19 01:13:17 +08:00

70 lines
4.8 KiB
Go

package api
import (
"server/controllers"
beego "github.com/beego/beego/v2/server/web"
)
// RegisterErpRoutes 注册移动端进销存(/api/erp/**)路由。
//
// 与 /backend/erp/** 完全独立:接口一一对应但各自成表(接口隔离规范),
// 两端共用的是 controllers 包级 core 函数与 models/services,不复用 handler。
//
// 注意:字面量路由必须注册在 :id 通配之前(beego 按注册顺序匹配)。
func RegisterErpRoutes() {
// 经营看板与开单字典
beego.Router("/api/erp/dashboard", &controllers.AppErpController{}, "get:Dashboard")
beego.Router("/api/erp/meta", &controllers.AppErpController{}, "get:Meta")
// 单据中心(采购/销售/库存十类单据共用)
beego.Router("/api/erp/document/list", &controllers.AppErpDocumentController{}, "get:List")
beego.Router("/api/erp/document/meta", &controllers.AppErpDocumentController{}, "get:Meta")
beego.Router("/api/erp/document/flows", &controllers.AppErpDocumentController{}, "get:Flows")
beego.Router("/api/erp/document/takeSheet", &controllers.AppErpDocumentController{}, "get:TakeSheet")
beego.Router("/api/erp/document/detail/:id", &controllers.AppErpDocumentController{}, "get:Detail")
beego.Router("/api/erp/document/executable/:id", &controllers.AppErpDocumentController{}, "get:Executable")
beego.Router("/api/erp/document/submit/:id", &controllers.AppErpDocumentController{}, "post:Submit")
beego.Router("/api/erp/document/approve/:id", &controllers.AppErpDocumentController{}, "post:Approve")
beego.Router("/api/erp/document/cancel/:id", &controllers.AppErpDocumentController{}, "post:Cancel")
beego.Router("/api/erp/document/save", &controllers.AppErpDocumentController{}, "post:Save")
beego.Router("/api/erp/document/delete/:id", &controllers.AppErpDocumentController{}, "delete:Delete")
// 库存(只读:结存/流水/预警/补货/批次效期)
beego.Router("/api/erp/stock/list", &controllers.AppErpStockController{}, "get:List")
beego.Router("/api/erp/stock/ledger", &controllers.AppErpStockController{}, "get:Ledger")
beego.Router("/api/erp/stock/warning", &controllers.AppErpStockController{}, "get:Warning")
beego.Router("/api/erp/stock/replenish", &controllers.AppErpStockController{}, "get:Replenish")
beego.Router("/api/erp/stock/batch", &controllers.AppErpStockController{}, "get:Batch")
// 档案(只读:商品/分类/仓库/客商)
beego.Router("/api/erp/product/list", &controllers.AppErpArchiveController{}, "get:ProductList")
beego.Router("/api/erp/product/category/list", &controllers.AppErpArchiveController{}, "get:CategoryList")
// 分类通配删除接口在移动端不开放,这里只保留 detail/:id 读接口
beego.Router("/api/erp/product/detail/:id", &controllers.AppErpArchiveController{}, "get:ProductDetail")
beego.Router("/api/erp/warehouse/list", &controllers.AppErpArchiveController{}, "get:WarehouseList")
beego.Router("/api/erp/partner/list", &controllers.AppErpArchiveController{}, "get:PartnerList")
beego.Router("/api/erp/partner/detail/:id", &controllers.AppErpArchiveController{}, "get:PartnerDetail")
// 往来账与收付款
beego.Router("/api/erp/finance/bill/list", &controllers.AppErpFinanceController{}, "get:BillList")
beego.Router("/api/erp/finance/bill/detail/:id", &controllers.AppErpFinanceController{}, "get:BillDetail")
beego.Router("/api/erp/finance/aging", &controllers.AppErpFinanceController{}, "get:Aging")
beego.Router("/api/erp/finance/cashflow", &controllers.AppErpFinanceController{}, "get:CashFlow")
beego.Router("/api/erp/finance/partner", &controllers.AppErpFinanceController{}, "get:PartnerSummary")
beego.Router("/api/erp/finance/fund/list", &controllers.AppErpFinanceController{}, "get:FundList")
beego.Router("/api/erp/finance/fund/openBills", &controllers.AppErpFinanceController{}, "get:FundOpenBills")
beego.Router("/api/erp/finance/fund/detail/:id", &controllers.AppErpFinanceController{}, "get:FundDetail")
beego.Router("/api/erp/finance/fund/confirm/:id", &controllers.AppErpFinanceController{}, "post:FundConfirm")
beego.Router("/api/erp/finance/fund/void/:id", &controllers.AppErpFinanceController{}, "post:FundVoid")
beego.Router("/api/erp/finance/fund/save", &controllers.AppErpFinanceController{}, "post:FundSave")
beego.Router("/api/erp/finance/fund/delete/:id", &controllers.AppErpFinanceController{}, "delete:FundDelete")
// 报表
beego.Router("/api/erp/report/purchase", &controllers.AppErpReportController{}, "get:PurchaseSummary")
beego.Router("/api/erp/report/sales", &controllers.AppErpReportController{}, "get:SalesSummary")
beego.Router("/api/erp/report/rank", &controllers.AppErpReportController{}, "get:Rank")
beego.Router("/api/erp/report/stockmove", &controllers.AppErpReportController{}, "get:StockMove")
beego.Router("/api/erp/report/profit", &controllers.AppErpReportController{}, "get:Profit")
}