package router
|
|
import (
|
"net/http"
|
"wms/conf"
|
"wms/controllers"
|
_ "wms/docs"
|
"wms/middleware"
|
|
"github.com/gin-gonic/gin"
|
swaggerFiles "github.com/swaggo/files"
|
ginSwagger "github.com/swaggo/gin-swagger"
|
)
|
|
func NewRouter() *gin.Engine {
|
r := gin.Default()
|
r.Use(middleware.Cors())
|
|
r.StaticFS(conf.LocalConf.StorePath, http.Dir(conf.LocalConf.StorePath)) // 为用户头像和文件提供静态地址
|
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
|
urlPrefix := "/api-wms/v1"
|
r.Use(middleware.JWTAuth())
|
r.Use(middleware.VerifyResetPwd())
|
|
// 组织管理
|
departmentController := new(controllers.DepartmentController)
|
organizeAPI := r.Group(urlPrefix + "/organize")
|
{
|
organizeAPI.GET("department", departmentController.List) // 获取部门列表
|
organizeAPI.POST("department", departmentController.Add) // 新增部门
|
organizeAPI.PUT("department/:id", departmentController.Update) // 修改部门
|
organizeAPI.DELETE("department/:id", departmentController.Delete) // 删除部门
|
}
|
|
// 公司管理
|
companyController := new(controllers.CompanyController)
|
companyAPI := r.Group(urlPrefix + "/company")
|
{
|
companyAPI.GET("company", companyController.List) // 获取公司列表
|
companyAPI.POST("company", companyController.Add) // 新增公司
|
companyAPI.PUT("company/:id", companyController.Update) // 修改公司
|
companyAPI.DELETE("company/:id", companyController.Delete) // 删除公司
|
}
|
|
// 仓库管理
|
warehouseController := new(controllers.WarehouseController)
|
warehouseAPI := r.Group(urlPrefix + "/warehouse")
|
{
|
warehouseAPI.GET("warehouse", warehouseController.List) // 获取仓库列表
|
warehouseAPI.POST("warehouse", warehouseController.Add) // 新增仓库
|
warehouseAPI.POST("updateWarehouse", warehouseController.UpdateWarehouse) // 修改仓库
|
warehouseAPI.DELETE("warehouse/:id", warehouseController.Delete) // 删除仓库
|
warehouseAPI.GET("getWarehouseDetails/:id", warehouseController.GetWarehouseDetails) // 获取仓库详情
|
}
|
|
// 位置信息
|
locationController := new(controllers.LocationController)
|
locationAPI := r.Group(urlPrefix + "/location")
|
{
|
locationAPI.POST("addLocation", locationController.AddLocation) //添加位置信息
|
locationAPI.POST("getLocationList", locationController.GetLocationList) //获取位置列表
|
locationAPI.POST("updateLocation", locationController.UpdateLocation) //修改位置
|
locationAPI.GET("getLocationDetails/:id", locationController.GetLocationDetails) //获取位置详情
|
locationAPI.DELETE("deleteLocation/:id", locationController.DeleteLocation) //删除位置
|
locationAPI.GET("getLocationTreeList", locationController.GetLocationTreeList) //获取位置列表树
|
}
|
|
// 业务类型
|
operationTypeController := new(controllers.OperationTypeController)
|
operationTypeAPI := r.Group(urlPrefix + "/operationType")
|
{
|
operationTypeAPI.GET("operationType", operationTypeController.List) // 获取作业类型列表
|
operationTypeAPI.GET("listTransfer", operationTypeController.ListTransfer) // 获取作业类型列表
|
operationTypeAPI.POST("operationType", operationTypeController.Add) // 新增作业类型
|
operationTypeAPI.PUT("operationType/:id", operationTypeController.Update) // 修改作业类型
|
operationTypeAPI.DELETE("operationType/:id", operationTypeController.Delete) // 删除作业类型
|
}
|
|
// 入库/出库
|
operationController := new(controllers.OperationController)
|
operationAPI := r.Group(urlPrefix + "/operation")
|
{
|
operationAPI.POST("list", operationController.List)
|
operationAPI.GET("getOperationInfo/:id", operationController.GetOperationInfo)
|
operationAPI.POST("operation", operationController.Add)
|
operationAPI.POST("update", operationController.Update)
|
operationAPI.DELETE("operation/:id", operationController.Delete)
|
operationAPI.PUT("finish/:id", operationController.Finish)
|
operationAPI.POST("listTransfer", operationController.ListTransfer)
|
operationAPI.GET("getLogisticCompanyList", operationController.GetLogisticCompanyList)
|
operationAPI.PUT("cancel/:id", operationController.Cancel)
|
operationAPI.PUT("outputOperation/:id", operationController.OutputOperation)
|
operationAPI.GET("getSupplierList", operationController.GetSupplierList)
|
operationAPI.GET("getClientList", operationController.GetClientList)
|
operationAPI.POST("listByCondition", operationController.ListByCondition)
|
|
}
|
|
//产品
|
productController := new(controllers.ProductController)
|
productAPI := r.Group(urlPrefix + "/product")
|
{
|
productAPI.POST("addProduct", productController.AddProduct) // 新增产品
|
productAPI.POST("getProductList", productController.GetProductList) // 获取产品列表
|
productAPI.GET("getProductDetails/:id", productController.GetProductDetails) // 获取产品详情
|
productAPI.POST("updateProduct", productController.UpdateProduct) // 修改产品详情
|
productAPI.DELETE("deleteProduct/:id", productController.DeleteProduct) // 删除产品
|
|
productAPI.POST("addProductCategory", productController.AddProductCategory) //添加产品类型
|
productAPI.POST("getProductCategoryList", productController.GetProductCategoryList) //获取产品类型列表
|
productAPI.GET("getProductCategoryDetails/:id", productController.GetProductCategoryDetails) //获取产品类型详情
|
productAPI.POST("updateProductCategory", productController.UpdateProductCategory) //修改产品类型
|
productAPI.DELETE("deleteProductCategory/:id", productController.DeleteProductCategory) //删除产品类型
|
|
productAPI.POST("listOperaton", productController.ListOperation) //查看产品的历史出入库信息
|
productAPI.POST("addDisuse", productController.AddDisuse) //添加报废信息
|
productAPI.POST("listDisuse", productController.ListDisuse) //查看产品的历史出入库信息
|
productAPI.PUT("finishDisuse/:id", productController.FinishDisuse) //报废验证
|
productAPI.POST("updateDisuse", productController.UpdateDisuse) //修改报废信息
|
productAPI.POST("listHistory", productController.ListHistory) //产品位置历史记录
|
productAPI.PUT("cancelDisuse/:id", productController.CancelDisuse) //取消报废
|
productAPI.GET("getUserInfo", productController.GetUserInfo) //获取登录用户信息
|
productAPI.GET("getUnitInfo", productController.GetUnitInfo) //获取单位信息
|
|
}
|
|
// 上架规则
|
locationProductController := new(controllers.LocationProductController)
|
locationProductAPI := r.Group(urlPrefix + "/locationProduct")
|
{
|
locationProductAPI.POST("list", locationProductController.List) // 获取上架规则列表
|
locationProductAPI.POST("add", locationProductController.Add) // 新增上架规则
|
locationProductAPI.POST("update", locationProductController.Update) // 修改上架规则
|
locationProductAPI.DELETE("delete/:id", locationProductController.Delete) // 删除上架规则
|
}
|
|
//库存盘点
|
locationProductAmountController := new(controllers.LocationProductAmountController)
|
locationProductAmountAPI := r.Group(urlPrefix + "/locationProductAmount")
|
{
|
locationProductAmountAPI.POST("add", locationProductAmountController.Add) //添加库存盘点信息
|
locationProductAmountAPI.POST("list", locationProductAmountController.List) //查看库存盘点列表
|
locationProductAmountAPI.POST("update", locationProductAmountController.Update) //修改库存盘点信息
|
locationProductAmountAPI.POST("finish", locationProductAmountController.Finish) //应用、验证库存盘点信息
|
locationProductAmountAPI.POST("getRuleList", locationProductAmountController.GetRuleList) //获取上架规则
|
}
|
|
//报表
|
reportFormsController := new(controllers.ReportFormsController)
|
reportFormsAPI := r.Group(urlPrefix + "/forms")
|
{
|
reportFormsAPI.POST("getInventoryForms", reportFormsController.GetInventoryForms) //获取库存报表
|
reportFormsAPI.POST("getHistory", reportFormsController.GetHistory) //获取库存历史
|
reportFormsAPI.POST("getLocationForms", reportFormsController.GetLocationForms) //获取位置报表
|
}
|
|
//重订货规则
|
reorderRuleController := new(controllers.ReorderRuleController)
|
reorderRuleAPI := r.Group(urlPrefix + "/reorderRule")
|
{
|
reorderRuleAPI.POST("addReorderRule", reorderRuleController.AddReorderRule) //添加重订货规则
|
reorderRuleAPI.POST("getReorderRuleList", reorderRuleController.GetReorderRuleList) //获取重订货规则列表
|
reorderRuleAPI.POST("getAmountAndPrediction", reorderRuleController.GetAmountAndPrediction) //获取在库与预测数量
|
reorderRuleAPI.POST("updateReorderRule", reorderRuleController.UpdateReorderRule) //更新重订货规则
|
reorderRuleAPI.POST("orderAgain", reorderRuleController.OrderAgain) //再订一次
|
}
|
|
attachmentController := new(controllers.AttachmentController)
|
attachmentAPI := r.Group(urlPrefix + "/attachment")
|
{
|
attachmentAPI.POST("uploadFiles", attachmentController.UploadFiles) //上传文件
|
}
|
|
codeApiController := new(controllers.CodeApi)
|
codeApi := r.Group(urlPrefix + "/code")
|
{
|
codeApi.GET("getCodeList", codeApiController.GetCodeList) //获取编码列表
|
codeApi.POST("getAutoCode", codeApiController.GetAutoCode) //获取自动编码
|
}
|
|
return r
|
}
|