1.初步定义V1.4.0的接口和数据结构;
This commit is contained in:
parent
75a4b8991f
commit
ffcff20590
171
app/admin/apis/inventorymanage/allot.go
Normal file
171
app/admin/apis/inventorymanage/allot.go
Normal file
|
@ -0,0 +1,171 @@
|
||||||
|
package inventorymanage
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"go-admin/app/admin/models"
|
||||||
|
"go-admin/tools/app"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 库存调拨相关代码
|
||||||
|
|
||||||
|
// InventoryAllotAdd 新增
|
||||||
|
// @Summary 新增
|
||||||
|
// @Tags 库存调拨,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryAllotAddReq true "新增模型"
|
||||||
|
// @Success 200 {object} models.InventoryAllotOrder
|
||||||
|
// @Router /api/v1/inventory/allot/add [post]
|
||||||
|
func InventoryAllotAdd(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotEdit 编辑
|
||||||
|
// @Summary 编辑
|
||||||
|
// @Tags 库存调拨,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryAllotEditReq true "编辑模型"
|
||||||
|
// @Success 200 {object} models.InventoryAllotOrder
|
||||||
|
// @Router /api/v1/inventory/allot/edit [post]
|
||||||
|
func InventoryAllotEdit(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotAudit 审核
|
||||||
|
// @Summary 审核
|
||||||
|
// @Tags 库存调拨,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryAllotAuditReq true "审核模型"
|
||||||
|
// @Success 200 {object} app.Response
|
||||||
|
// @Router /api/v1/inventory/allot/audit [post]
|
||||||
|
func InventoryAllotAudit(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotDelete 删除
|
||||||
|
// @Summary 删除
|
||||||
|
// @Tags 库存调拨,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryAllotDeleteReq true "删除模型"
|
||||||
|
// @Success 200 {object} app.Response
|
||||||
|
// @Router /api/v1/inventory/allot/delete [post]
|
||||||
|
func InventoryAllotDelete(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotList 库存调拨列表
|
||||||
|
// @Summary 库存调拨列表
|
||||||
|
// @Tags 库存调拨,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryAllotListReq true "库存调拨列表模型"
|
||||||
|
// @Success 200 {object} models.InventoryAllotListResp
|
||||||
|
// @Router /api/v1/inventory/allot/list [post]
|
||||||
|
func InventoryAllotList(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotDetail 库存调拨详情
|
||||||
|
// @Summary 库存调拨详情
|
||||||
|
// @Tags 库存调拨,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryAllotDetailReq true "库存调拨详情模型"
|
||||||
|
// @Success 200 {object} models.InventoryAllotOrder
|
||||||
|
// @Router /api/v1/inventory/allot/detail [post]
|
||||||
|
func InventoryAllotDetail(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotDeliver 调拨发货
|
||||||
|
// @Summary 调拨发货
|
||||||
|
// @Tags 库存调拨,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryAllotDeliverReq true "调拨发货模型"
|
||||||
|
// @Success 200 {object} app.Response
|
||||||
|
// @Router /api/v1/inventory/allot/deliver [post]
|
||||||
|
func InventoryAllotDeliver(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotReceive 调拨收货
|
||||||
|
// @Summary 调拨收货
|
||||||
|
// @Tags 库存调拨,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryAllotReceiveReq true "调拨收货模型"
|
||||||
|
// @Success 200 {object} app.Response
|
||||||
|
// @Router /api/v1/inventory/allot/receive [post]
|
||||||
|
func InventoryAllotReceive(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
131
app/admin/apis/inventorymanage/change.go
Normal file
131
app/admin/apis/inventorymanage/change.go
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
package inventorymanage
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"go-admin/app/admin/models"
|
||||||
|
"go-admin/tools/app"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 库存变动相关代码
|
||||||
|
|
||||||
|
// InventoryChangeAdd 新增
|
||||||
|
// @Summary 新增
|
||||||
|
// @Tags 库存变动,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryChangeAddReq true "新增模型"
|
||||||
|
// @Success 200 {object} models.InventoryChangeOrder
|
||||||
|
// @Router /api/v1/inventory/change/add [post]
|
||||||
|
func InventoryChangeAdd(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeEdit 编辑
|
||||||
|
// @Summary 编辑
|
||||||
|
// @Tags 库存变动,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryChangeEditReq true "编辑模型"
|
||||||
|
// @Success 200 {object} models.InventoryChangeOrder
|
||||||
|
// @Router /api/v1/inventory/change/edit [post]
|
||||||
|
func InventoryChangeEdit(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeAudit 审核
|
||||||
|
// @Summary 审核
|
||||||
|
// @Tags 库存变动,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryChangeAuditReq true "审核模型"
|
||||||
|
// @Success 200 {object} app.Response
|
||||||
|
// @Router /api/v1/inventory/change/audit [post]
|
||||||
|
func InventoryChangeAudit(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeDelete 删除
|
||||||
|
// @Summary 删除
|
||||||
|
// @Tags 库存变动,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryChangeDeleteReq true "删除模型"
|
||||||
|
// @Success 200 {object} app.Response
|
||||||
|
// @Router /api/v1/inventory/change/delete [post]
|
||||||
|
func InventoryChangeDelete(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeList 库存变动列表
|
||||||
|
// @Summary 库存变动列表
|
||||||
|
// @Tags 库存变动,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryChangeListReq true "库存变动列表模型"
|
||||||
|
// @Success 200 {object} models.InventoryChangeListResp
|
||||||
|
// @Router /api/v1/inventory/change/list [post]
|
||||||
|
func InventoryChangeList(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeDetail 库存变动详情
|
||||||
|
// @Summary 库存变动详情
|
||||||
|
// @Tags 库存变动,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryChangeDetailReq true "库存变动详情模型"
|
||||||
|
// @Success 200 {object} models.InventoryChangeOrder
|
||||||
|
// @Router /api/v1/inventory/change/detail [post]
|
||||||
|
func InventoryChangeDetail(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
131
app/admin/apis/inventorymanage/product.go
Normal file
131
app/admin/apis/inventorymanage/product.go
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
package inventorymanage
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"go-admin/app/admin/models"
|
||||||
|
"go-admin/tools/app"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 产品入库相关代码
|
||||||
|
|
||||||
|
// ProductInventoryAdd 新增
|
||||||
|
// @Summary 新增
|
||||||
|
// @Tags 产品入库,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.ProductInventoryAddReq true "新增模型"
|
||||||
|
// @Success 200 {object} models.ProductInventoryOrder
|
||||||
|
// @Router /api/v1/inventory/product/add [post]
|
||||||
|
func ProductInventoryAdd(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryEdit 编辑
|
||||||
|
// @Summary 编辑
|
||||||
|
// @Tags 产品入库,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.ProductInventoryEditReq true "编辑模型"
|
||||||
|
// @Success 200 {object} models.ProductInventoryOrder
|
||||||
|
// @Router /api/v1/inventory/product/edit [post]
|
||||||
|
func ProductInventoryEdit(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryAudit 审核
|
||||||
|
// @Summary 审核
|
||||||
|
// @Tags 产品入库,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.ProductInventoryAuditReq true "审核模型"
|
||||||
|
// @Success 200 {object} app.Response
|
||||||
|
// @Router /api/v1/inventory/product/audit [post]
|
||||||
|
func ProductInventoryAudit(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryDelete 删除
|
||||||
|
// @Summary 删除
|
||||||
|
// @Tags 产品入库,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.ProductInventoryDeleteReq true "删除模型"
|
||||||
|
// @Success 200 {object} app.Response
|
||||||
|
// @Router /api/v1/inventory/product/delete [post]
|
||||||
|
func ProductInventoryDelete(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryList 产品入库列表
|
||||||
|
// @Summary 产品入库列表
|
||||||
|
// @Tags 产品入库,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.ProductInventoryListReq true "产品入库列表模型"
|
||||||
|
// @Success 200 {object} models.ProductInventoryListResp
|
||||||
|
// @Router /api/v1/inventory/product/list [post]
|
||||||
|
func ProductInventoryList(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryDetail 产品入库详情
|
||||||
|
// @Summary 产品入库详情
|
||||||
|
// @Tags 产品入库,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.ProductInventoryDetailReq true "产品入库详情模型"
|
||||||
|
// @Success 200 {object} models.ProductInventoryOrder
|
||||||
|
// @Router /api/v1/inventory/product/detail [post]
|
||||||
|
func ProductInventoryDetail(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
111
app/admin/apis/inventorymanage/report.go
Normal file
111
app/admin/apis/inventorymanage/report.go
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
package inventorymanage
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"go-admin/app/admin/models"
|
||||||
|
"go-admin/tools/app"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 库存报表相关代码
|
||||||
|
|
||||||
|
// InventoryReportByProduct 产品库存汇总(按门店)
|
||||||
|
// @Summary 产品库存汇总(按门店)
|
||||||
|
// @Tags 库存报表,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryReportByProductReq true "产品库存汇总(按门店)模型"
|
||||||
|
// @Success 200 {object} models.InventoryReportByProductResp
|
||||||
|
// @Router /api/v1/inventory/report/product [post]
|
||||||
|
func InventoryReportByProduct(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportByAllot 库存调拨汇总
|
||||||
|
// @Summary 库存调拨汇总
|
||||||
|
// @Tags 库存报表,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryReportByAllotReq true "库存调拨汇总模型"
|
||||||
|
// @Success 200 {object} models.InventoryReportByAllotResp
|
||||||
|
// @Router /api/v1/inventory/report/allot [post]
|
||||||
|
func InventoryReportByAllot(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportAllotDetail 库存调拨明细
|
||||||
|
// @Summary 库存调拨明细
|
||||||
|
// @Tags 库存报表,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryReportAllotDetailReq true "库存调拨明细模型"
|
||||||
|
// @Success 200 {object} models.InventoryReportAllotDetailResp
|
||||||
|
// @Router /api/v1/inventory/report/allot_detail [post]
|
||||||
|
func InventoryReportAllotDetail(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportByOther 其他出入库汇总
|
||||||
|
// @Summary 其他出入库汇总
|
||||||
|
// @Tags 库存报表,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryReportByOtherReq true "其他出入库汇总模型"
|
||||||
|
// @Success 200 {object} models.InventoryReportByOtherResp
|
||||||
|
// @Router /api/v1/inventory/report/other [post]
|
||||||
|
func InventoryReportByOther(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportOtherDetail 其他出入库明细
|
||||||
|
// @Summary 其他出入库明细
|
||||||
|
// @Tags 库存报表,V1.4.0
|
||||||
|
// @Produce json
|
||||||
|
// @Accept json
|
||||||
|
// @Param request body models.InventoryReportOtherDetailReq true "其他出入库明细模型"
|
||||||
|
// @Success 200 {object} models.InventoryReportOtherDetailResp
|
||||||
|
// @Router /api/v1/inventory/report/other_detail [post]
|
||||||
|
func InventoryReportOtherDetail(c *gin.Context) {
|
||||||
|
req := &models.ErpStockListReq{}
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
//logger.Error(err)
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
app.OK(c, "", "OK")
|
||||||
|
return
|
||||||
|
}
|
104
app/admin/models/inventory_allot.go
Normal file
104
app/admin/models/inventory_allot.go
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
package models
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// InventoryAllotOrder 库存调拨订单表
|
||||||
|
type InventoryAllotOrder struct {
|
||||||
|
Model
|
||||||
|
SerialNumber string `json:"serial_number" gorm:"index"` // 单据编号
|
||||||
|
DeliverStoreId uint32 `json:"deliver_store_id" gorm:"index"` // 调出门店id
|
||||||
|
DeliverStoreName string `json:"deliver_store_name"` // 调出门店名称
|
||||||
|
ReceiveStoreId uint32 `json:"receive_store_id" gorm:"index"` // 调入门店id
|
||||||
|
ReceiveStoreName string `json:"receive_store_name"` // 调入门店名称
|
||||||
|
HandlerId uint32 `json:"handler_id" gorm:"index"` // 经手人id
|
||||||
|
HandlerName string `json:"handler_name"` // 经手人名称
|
||||||
|
MakerTime *time.Time `json:"maker_time"` // 制单时间
|
||||||
|
MakerId uint32 `json:"maker_id" gorm:"index"` // 制单人id
|
||||||
|
MakerName string `json:"maker_name"` // 制单人名称
|
||||||
|
AuditTime *time.Time `json:"audit_time"` // 审核时间
|
||||||
|
AuditorId uint32 `json:"auditor_id" gorm:"index"` // 审核人id
|
||||||
|
AuditorName string `json:"auditor_name"` // 审核人名称
|
||||||
|
DeliverTime *time.Time `json:"deliver_time"` // 发货时间
|
||||||
|
ReceiveTime *time.Time `json:"receive_time"` // 收货时间/调入时间
|
||||||
|
LogisticsNumber string `json:"logistics_number"` // 物流单号
|
||||||
|
State uint32 `json:"state"` // 1-待审核 2-待发货 3-待收货 4-已完成
|
||||||
|
TotalCount uint32 `json:"total_count"` // 商品总数量
|
||||||
|
Commodities []InventoryAllotCommodity `json:"commodities" gorm:"-"` // 库存调拨商品信息
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotCommodity 库存调拨商品信息表
|
||||||
|
type InventoryAllotCommodity struct {
|
||||||
|
Model
|
||||||
|
ProductOrderId uint32 `json:"product_order_id" gorm:"index"` // 库存调拨订单表id
|
||||||
|
CommodityId uint32 `json:"commodity_id" gorm:"index"` // 商品id
|
||||||
|
CommodityName string `json:"commodity_name"` // 商品名称
|
||||||
|
IMEIType uint32 `json:"imei_type"` // 1-无串码 2-串码
|
||||||
|
IMEI string `json:"imei"` // 商品串码
|
||||||
|
Count uint32 `json:"count"` // 数量
|
||||||
|
Remark string `json:"remark"` // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotAddReq 新增库存调拨入参
|
||||||
|
type InventoryAllotAddReq struct {
|
||||||
|
DeliverStoreId uint32 `json:"deliver_store_id" binding:"required"` // 调出门店id
|
||||||
|
DeliverStoreName string `json:"deliver_store_name" binding:"required"` // 调出门店名称
|
||||||
|
ReceiveStoreId uint32 `json:"receive_store_id" binding:"required"` // 调入门店id
|
||||||
|
ReceiveStoreName string `json:"receive_store_name" binding:"required"` // 调入门店名称
|
||||||
|
HandlerId uint32 `json:"handler_id" binding:"required"` // 经手人id
|
||||||
|
HandlerName string `json:"handler_name" binding:"required"` // 经手人名称
|
||||||
|
Commodities []InventoryAllotCommodity `json:"commodities" binding:"required"` // 库存调拨商品信息
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotEditReq 编辑库存调拨入参
|
||||||
|
type InventoryAllotEditReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
InventoryAllotAddReq
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotAuditReq 审核入参
|
||||||
|
type InventoryAllotAuditReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
State int `json:"state" binding:"required"` // 审核操作: 1-审核 2-取消审核
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotDeleteReq 删除入参
|
||||||
|
type InventoryAllotDeleteReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotListReq 查询库存调拨列表入参
|
||||||
|
type InventoryAllotListReq struct {
|
||||||
|
SerialNumber string `json:"serial_number"` // 单据编号
|
||||||
|
DeliverStoreId uint32 `json:"deliver_store_id"` // 调出门店id
|
||||||
|
ReceiveStoreId uint32 `json:"receive_store_id"` // 调入门店id
|
||||||
|
HandlerId uint32 `json:"handler_id"` // 经手人id
|
||||||
|
State int `json:"state"` // 1-待审核 2-待发货 3-待收货 4-已完成
|
||||||
|
AuditTimeStart string `json:"audit_time_start"` // 审核开始时间
|
||||||
|
AuditTimeEnd string `json:"audit_time_end"` // 审核结束时间
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotListResp 查询库存调拨列表出参
|
||||||
|
type InventoryAllotListResp struct {
|
||||||
|
List []InventoryAllotOrder `json:"list"`
|
||||||
|
Total int `json:"total"` // 总条数
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotDetailReq 查询库存调拨详情入参
|
||||||
|
type InventoryAllotDetailReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotDeliverReq 调拨发货入参
|
||||||
|
type InventoryAllotDeliverReq struct {
|
||||||
|
LogisticsNumber string `json:"logistics_number"` // 物流单号
|
||||||
|
Remark string `json:"remark"` // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryAllotReceiveReq 调拨收货入参
|
||||||
|
type InventoryAllotReceiveReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
}
|
93
app/admin/models/inventory_change.go
Normal file
93
app/admin/models/inventory_change.go
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
package models
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// InventoryChangeOrder 库存变动订单表
|
||||||
|
type InventoryChangeOrder struct {
|
||||||
|
Model
|
||||||
|
SerialNumber string `json:"serial_number" gorm:"index"` // 单据编号
|
||||||
|
ChangeType string `json:"change_type"` // 类型:add-增加;reduce-减少
|
||||||
|
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||||
|
StoreName string `json:"store_name"` // 门店名称
|
||||||
|
HandlerId uint32 `json:"handler_id" gorm:"index"` // 经手人id
|
||||||
|
HandlerName string `json:"handler_name"` // 经手人名称
|
||||||
|
MakerTime *time.Time `json:"maker_time"` // 制单时间
|
||||||
|
MakerId uint32 `json:"maker_id" gorm:"index"` // 制单人id
|
||||||
|
MakerName string `json:"maker_name"` // 制单人名称
|
||||||
|
AuditTime *time.Time `json:"audit_time"` // 审核时间
|
||||||
|
AuditorId uint32 `json:"auditor_id" gorm:"index"` // 审核人id
|
||||||
|
AuditorName string `json:"auditor_name"` // 审核人名称
|
||||||
|
State uint32 `json:"state"` // 1-待审核 2-已完成
|
||||||
|
TotalCount uint32 `json:"total_count"` // 总数量
|
||||||
|
TotalAmount float64 `json:"total_amount"` // 总金额
|
||||||
|
Commodities []InventoryChangeCommodity `json:"commodities" gorm:"-"` // 库存变动商品信息
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeCommodity 库存变动商品信息表
|
||||||
|
type InventoryChangeCommodity struct {
|
||||||
|
Model
|
||||||
|
ProductOrderId uint32 `json:"product_order_id" gorm:"index"` // 库存变动订单表id
|
||||||
|
CommodityId uint32 `json:"commodity_id" gorm:"index"` // 商品id
|
||||||
|
CommodityName string `json:"commodity_name"` // 商品名称
|
||||||
|
SupplierId uint32 `json:"supplier_id" gorm:"index"` // 供应商id
|
||||||
|
SupplierName string `json:"supplier_name"` // 供应商名称
|
||||||
|
IMEIType uint32 `json:"imei_type"` // 1-无串码 2-串码
|
||||||
|
IMEI string `json:"imei"` // 商品串码
|
||||||
|
Count uint32 `json:"count"` // 计划数量
|
||||||
|
Price float64 `json:"price"` // 采购单价
|
||||||
|
EmployeePrice float64 `json:"employee_price"` // 员工成本价
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
Remark string `json:"remark"` // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeAddReq 新增库存变动入参
|
||||||
|
type InventoryChangeAddReq struct {
|
||||||
|
StoreId uint32 `json:"store_id" binding:"required"` // 门店id
|
||||||
|
StoreName string `json:"store_name" binding:"required"` // 门店名称
|
||||||
|
HandlerId uint32 `json:"handler_id" binding:"required"` // 经手人id
|
||||||
|
HandlerName string `json:"handler_name" binding:"required"` // 经手人名称
|
||||||
|
Commodities []InventoryChangeCommodity `json:"commodities" binding:"required"` // 库存变动商品信息
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeEditReq 编辑库存变动入参
|
||||||
|
type InventoryChangeEditReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
InventoryChangeAddReq
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeAuditReq 审核入参
|
||||||
|
type InventoryChangeAuditReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
State int `json:"state" binding:"required"` // 审核操作: 1-审核 2-取消审核
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeDeleteReq 删除入参
|
||||||
|
type InventoryChangeDeleteReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeListReq 查询库存变动列表入参
|
||||||
|
type InventoryChangeListReq struct {
|
||||||
|
SerialNumber string `json:"serial_number"` // 单据编号
|
||||||
|
ChangeType string `json:"change_type"` // 类型:add-增加;reduce-减少
|
||||||
|
StoreId uint32 `json:"store_id"` // 门店id
|
||||||
|
HandlerId uint32 `json:"handler_id"` // 经手人id
|
||||||
|
State int `json:"state"` // 1-待审核 2-已完成
|
||||||
|
AuditTimeStart string `json:"audit_time_start"` // 审核开始时间
|
||||||
|
AuditTimeEnd string `json:"audit_time_end"` // 审核结束时间
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeListResp 查询库存变动列表出参
|
||||||
|
type InventoryChangeListResp struct {
|
||||||
|
List []InventoryChangeOrder `json:"list"`
|
||||||
|
Total int `json:"total"` // 总条数
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryChangeDetailReq 查询库存变动详情入参
|
||||||
|
type InventoryChangeDetailReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
}
|
91
app/admin/models/inventory_product.go
Normal file
91
app/admin/models/inventory_product.go
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
package models
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// ProductInventoryOrder 产品入库订单表
|
||||||
|
type ProductInventoryOrder struct {
|
||||||
|
Model
|
||||||
|
SerialNumber string `json:"serial_number" gorm:"index"` // 单据编号
|
||||||
|
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||||
|
StoreName string `json:"store_name"` // 门店名称
|
||||||
|
HandlerId uint32 `json:"handler_id" gorm:"index"` // 经手人id
|
||||||
|
HandlerName string `json:"handler_name"` // 经手人名称
|
||||||
|
MakerTime *time.Time `json:"maker_time"` // 制单时间
|
||||||
|
MakerId uint32 `json:"maker_id" gorm:"index"` // 制单人id
|
||||||
|
MakerName string `json:"maker_name"` // 制单人名称
|
||||||
|
AuditTime *time.Time `json:"audit_time"` // 审核时间
|
||||||
|
AuditorId uint32 `json:"auditor_id" gorm:"index"` // 审核人id
|
||||||
|
AuditorName string `json:"auditor_name"` // 审核人名称
|
||||||
|
State uint32 `json:"state"` // 1-待审核 2-已完成
|
||||||
|
TotalCount uint32 `json:"total_count"` // 总数量
|
||||||
|
TotalAmount float64 `json:"total_amount"` // 总金额
|
||||||
|
Commodities []ProductInventoryCommodity `json:"commodities" gorm:"-"` // 产品入库商品信息
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryCommodity 产品入库商品信息表
|
||||||
|
type ProductInventoryCommodity struct {
|
||||||
|
Model
|
||||||
|
ProductOrderId uint32 `json:"product_order_id" gorm:"index"` // 产品入库订单表id
|
||||||
|
CommodityId uint32 `json:"commodity_id" gorm:"index"` // 商品id
|
||||||
|
CommodityName string `json:"commodity_name"` // 商品名称
|
||||||
|
SupplierId uint32 `json:"supplier_id" gorm:"index"` // 供应商id
|
||||||
|
SupplierName string `json:"supplier_name"` // 供应商名称
|
||||||
|
IMEIType uint32 `json:"imei_type"` // 1-无串码 2-串码
|
||||||
|
IMEI string `json:"imei"` // 商品串码
|
||||||
|
Count uint32 `json:"count"` // 计划数量
|
||||||
|
Price float64 `json:"price"` // 采购单价
|
||||||
|
EmployeePrice float64 `json:"employee_price"` // 员工成本价
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
Remark string `json:"remark"` // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryAddReq 新增产品入库入参
|
||||||
|
type ProductInventoryAddReq struct {
|
||||||
|
StoreId uint32 `json:"store_id" binding:"required"` // 门店id
|
||||||
|
StoreName string `json:"store_name" binding:"required"` // 门店名称
|
||||||
|
HandlerId uint32 `json:"handler_id" binding:"required"` // 经手人id
|
||||||
|
HandlerName string `json:"handler_name" binding:"required"` // 经手人名称
|
||||||
|
Commodities []ProductInventoryCommodity `json:"commodities" binding:"required"` // 产品入库商品信息
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryEditReq 编辑产品入库入参
|
||||||
|
type ProductInventoryEditReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
ProductInventoryAddReq
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryAuditReq 审核入参
|
||||||
|
type ProductInventoryAuditReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
State int `json:"state" binding:"required"` // 审核操作: 1-审核 2-取消审核
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryDeleteReq 删除入参
|
||||||
|
type ProductInventoryDeleteReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryListReq 查询产品入库列表入参
|
||||||
|
type ProductInventoryListReq struct {
|
||||||
|
SerialNumber string `json:"serial_number"` // 单据编号
|
||||||
|
StoreId uint32 `json:"store_id"` // 门店id
|
||||||
|
HandlerId uint32 `json:"handler_id"` // 经手人id
|
||||||
|
State int `json:"state"` // 1-待审核 2-已完成
|
||||||
|
AuditTimeStart string `json:"audit_time_start"` // 审核开始时间
|
||||||
|
AuditTimeEnd string `json:"audit_time_end"` // 审核结束时间
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryListResp 查询产品入库列表出参
|
||||||
|
type ProductInventoryListResp struct {
|
||||||
|
List []ProductInventoryOrder `json:"list"`
|
||||||
|
Total int `json:"total"` // 总条数
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProductInventoryDetailReq 查询产品入库详情入参
|
||||||
|
type ProductInventoryDetailReq struct {
|
||||||
|
SerialNumber string `json:"serial_number" binding:"required"` // 单据编号
|
||||||
|
}
|
211
app/admin/models/inventory_report.go
Normal file
211
app/admin/models/inventory_report.go
Normal file
|
@ -0,0 +1,211 @@
|
||||||
|
package models
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// InventoryReportByProductReq 产品库存汇总(按门店)入参
|
||||||
|
type InventoryReportByProductReq struct {
|
||||||
|
StoreId []uint32 `json:"store_id"` // 门店id
|
||||||
|
CommoditySerialNumber []string `json:"commodity_serial_number"` // 商品编号
|
||||||
|
CommodityName []string `json:"commodity_name"` // 商品名称
|
||||||
|
CategoryID []uint32 `json:"category_id"` // 商品分类id
|
||||||
|
IsExport uint32 `json:"is_export"` // 1-导出
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportByProductResp 产品库存汇总(按门店)出参
|
||||||
|
type InventoryReportByProductResp struct {
|
||||||
|
Total int `json:"total"` // 总条数/记录数
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
TotalEffectiveCount uint32 `json:"total_effective_count"` // 有效库存数
|
||||||
|
TotalTransferCount uint32 `json:"total_transfer_count"` // 调入中数量
|
||||||
|
TotalCount uint32 `json:"total_count"` // 总数量
|
||||||
|
TotalEffectiveAmount float64 `json:"total_effective_amount"` // 有效库存金额
|
||||||
|
TotalTransferAmount float64 `json:"total_transfer_amount"` // 调入中金额
|
||||||
|
ExportUrl string `json:"export_url"` // 导出excel路径
|
||||||
|
List []ReportByProductData `json:"list"` //
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReportByProductData 产品库存汇总(按门店)数据
|
||||||
|
type ReportByProductData struct {
|
||||||
|
StoreId uint32 `json:"store_id"` // 门店id
|
||||||
|
StoreName string `json:"store_name"` // 门店名称
|
||||||
|
CommoditySerialNumber string `json:"commodity_serial_number"` // 商品编号
|
||||||
|
CommodityId uint32 `json:"commodity_id"` // 商品id
|
||||||
|
CommodityName string `json:"commodity_name"` // 商品名称
|
||||||
|
CategoryID uint32 `json:"category_id"` // 商品分类id
|
||||||
|
CategoryName string `json:"category_name"` // 商品分类名称
|
||||||
|
EffectiveCount uint32 `json:"effective_count"` // 有效库存数
|
||||||
|
TransferCount uint32 `json:"transfer_count"` // 调入中数量
|
||||||
|
Count uint32 `json:"count"` // 总数量
|
||||||
|
EffectiveAmount float64 `json:"effective_amount"` // 有效库存金额
|
||||||
|
TransferAmount float64 `json:"transfer_amount"` // 调入中金额
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportByAllotReq 库存调拨入参
|
||||||
|
type InventoryReportByAllotReq struct {
|
||||||
|
DeliverStoreId []uint32 `json:"deliver_store_id"` // 调出门店id
|
||||||
|
ReceiveStoreId []uint32 `json:"receive_store_id"` // 调入门店id
|
||||||
|
CommodityName []string `json:"commodity_name"` // 商品名称
|
||||||
|
CategoryID []uint32 `json:"category_id"` // 商品分类id
|
||||||
|
State uint32 `json:"state"` // 调拨状态:1-调拨中 2-已完成
|
||||||
|
AuditTimeStart string `json:"audit_time_start"` // 审核/发起开始时间
|
||||||
|
AuditTimeEnd string `json:"audit_time_end"` // 审核/发起结束时间
|
||||||
|
ReceiveTimeStart string `json:"receive_time_start"` // 调入开始时间
|
||||||
|
ReceiveTimeEnd string `json:"receive_time_end"` // 调入结束时间
|
||||||
|
IsExport uint32 `json:"is_export"` // 1-导出
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportByAllotResp 库存调拨出参
|
||||||
|
type InventoryReportByAllotResp struct {
|
||||||
|
Total int `json:"total"` // 总条数/记录数
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
TotalAllotCount uint32 `json:"total_allot_count"` // 调拨数量
|
||||||
|
TotalAllotAmount float64 `json:"total_allot_amount"` // 调拨金额
|
||||||
|
ExportUrl string `json:"export_url"` // 导出excel路径
|
||||||
|
List []ReportByAllotData `json:"list"` //
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReportByAllotData 库存调拨数据
|
||||||
|
type ReportByAllotData struct {
|
||||||
|
DeliverStoreId uint32 `json:"deliver_store_id"` // 调出门店id
|
||||||
|
DeliverStoreName string `json:"deliver_store_name"` // 调出门店名称
|
||||||
|
ReceiveStoreId uint32 `json:"receive_store_id"` // 调入门店id
|
||||||
|
ReceiveStoreName string `json:"receive_store_name"` // 调入门店名称
|
||||||
|
CommodityId uint32 `json:"commodity_id"` // 商品id
|
||||||
|
CommodityName string `json:"commodity_name"` // 商品名称
|
||||||
|
CategoryID uint32 `json:"category_id"` // 商品分类id
|
||||||
|
CategoryName string `json:"category_name"` // 商品分类名称
|
||||||
|
State uint32 `json:"state"` // 调拨状态:1-调拨中 2-已完成
|
||||||
|
AllotCount uint32 `json:"allot_count"` // 调拨数量
|
||||||
|
AllotAmount float64 `json:"allot_amount"` // 调拨金额
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportAllotDetailReq 库存调拨明细入参
|
||||||
|
type InventoryReportAllotDetailReq struct {
|
||||||
|
SerialNumber string `json:"serial_number"` // 单据编号
|
||||||
|
DeliverStoreId uint32 `json:"deliver_store_id"` // 调出门店id
|
||||||
|
ReceiveStoreId uint32 `json:"receive_store_id"` // 调入门店id
|
||||||
|
CommodityName []string `json:"commodity_name"` // 商品名称
|
||||||
|
CategoryID []uint32 `json:"category_id"` // 商品分类id
|
||||||
|
State uint32 `json:"state"` // 调拨状态:1-调拨中 2-已完成
|
||||||
|
AuditTimeStart string `json:"audit_time_start"` // 审核/发起开始时间
|
||||||
|
AuditTimeEnd string `json:"audit_time_end"` // 审核/发起结束时间
|
||||||
|
ReceiveTimeStart string `json:"receive_time_start"` // 调入开始时间
|
||||||
|
ReceiveTimeEnd string `json:"receive_time_end"` // 调入结束时间
|
||||||
|
IsExport uint32 `json:"is_export"` // 1-导出
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportAllotDetailResp 库存调拨明细出参
|
||||||
|
type InventoryReportAllotDetailResp struct {
|
||||||
|
Total int `json:"total"` // 总条数/记录数
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
ExportUrl string `json:"export_url"` // 导出excel路径
|
||||||
|
List []ReportAllotDetailData `json:"list"` //
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReportAllotDetailData 库存调拨明细数据
|
||||||
|
type ReportAllotDetailData struct {
|
||||||
|
SerialNumber string `json:"serial_number"` // 单据编号
|
||||||
|
DeliverStoreId uint32 `json:"deliver_store_id"` // 调出门店id
|
||||||
|
DeliverStoreName string `json:"deliver_store_name"` // 调出门店名称
|
||||||
|
ReceiveStoreId uint32 `json:"receive_store_id"` // 调入门店id
|
||||||
|
ReceiveStoreName string `json:"receive_store_name"` // 调入门店名称
|
||||||
|
MakerTime *time.Time `json:"maker_time"` // 制单时间/发起时间
|
||||||
|
AuditTime *time.Time `json:"audit_time"` // 审核时间
|
||||||
|
State uint32 `json:"state"` // 调拨状态:1-调拨中 2-已完成
|
||||||
|
CommodityId uint32 `json:"commodity_id"` // 商品id
|
||||||
|
CommodityName string `json:"commodity_name"` // 商品名称
|
||||||
|
CategoryID uint32 `json:"category_id"` // 商品分类id
|
||||||
|
CategoryName string `json:"category_name"` // 商品分类名称
|
||||||
|
IMEIType uint32 `json:"imei_type"` // 1-无串码 2-串码
|
||||||
|
IMEI string `json:"imei"` // 商品串码
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportByOtherReq 其他出入库汇总入参
|
||||||
|
type InventoryReportByOtherReq struct {
|
||||||
|
StoreId []uint32 `json:"store_id"` // 门店id
|
||||||
|
CommodityName []string `json:"commodity_name"` // 商品名称
|
||||||
|
CategoryID []uint32 `json:"category_id"` // 商品分类id
|
||||||
|
State uint32 `json:"state"` // 调拨状态:1-产品入库 2-盘点入库 3-系统出库 4-盘点出库
|
||||||
|
StartTime string `json:"start_time"` // 开始时间/入库时间
|
||||||
|
EndTime string `json:"end_time"` // 结束时间/出库时间
|
||||||
|
IsExport uint32 `json:"is_export"` // 1-导出
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportByOtherResp 其他出入库汇总出参
|
||||||
|
type InventoryReportByOtherResp struct {
|
||||||
|
Total int `json:"total"` // 总条数/记录数
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
TotalCount int32 `json:"total_count"` // 总数量
|
||||||
|
TotalAmount float64 `json:"total_amount"` // 总金额
|
||||||
|
ExportUrl string `json:"export_url"` // 导出excel路径
|
||||||
|
List []ReportByOtherData `json:"list"` //
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReportByOtherData 其他出入库汇总数据
|
||||||
|
type ReportByOtherData struct {
|
||||||
|
StoreId uint32 `json:"store_id"` // 门店id
|
||||||
|
StoreName string `json:"store_name"` // 门店名称
|
||||||
|
CommodityId uint32 `json:"commodity_id"` // 商品id
|
||||||
|
CommodityName string `json:"commodity_name"` // 商品名称
|
||||||
|
CategoryID uint32 `json:"category_id"` // 商品分类id
|
||||||
|
CategoryName string `json:"category_name"` // 商品分类名称
|
||||||
|
State uint32 `json:"state"` // 调拨状态:1-产品入库 2-盘点入库 3-系统出库 4-盘点出库
|
||||||
|
Count int32 `json:"count"` // 数量
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportOtherDetailReq 其他出入库明细入参
|
||||||
|
type InventoryReportOtherDetailReq struct {
|
||||||
|
SerialNumber string `json:"serial_number"` // 单据编号
|
||||||
|
StoreId []uint32 `json:"store_id"` // 门店id
|
||||||
|
CommodityName []string `json:"commodity_name"` // 商品名称
|
||||||
|
CategoryID []uint32 `json:"category_id"` // 商品分类id
|
||||||
|
State uint32 `json:"state"` // 调拨状态:1-产品入库 2-盘点入库 3-系统出库 4-盘点出库
|
||||||
|
StartTime string `json:"start_time"` // 开始时间/入库时间
|
||||||
|
EndTime string `json:"end_time"` // 结束时间/出库时间
|
||||||
|
IsExport uint32 `json:"is_export"` // 1-导出
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
}
|
||||||
|
|
||||||
|
// InventoryReportOtherDetailResp 其他出入库明细出参
|
||||||
|
type InventoryReportOtherDetailResp struct {
|
||||||
|
Total int `json:"total"` // 总条数/记录数
|
||||||
|
PageIndex int `json:"pageIndex"` // 页码
|
||||||
|
PageSize int `json:"pageSize"` // 页面条数
|
||||||
|
TotalPurchasePrice float64 `json:"total_purchase_price"` // 总入库采购价
|
||||||
|
TotalEmployeePrice float64 `json:"total_employee_price"` // 总入库员工成本价
|
||||||
|
ExportUrl string `json:"export_url"` // 导出excel路径
|
||||||
|
List []ReportOtherDetailData `json:"list"` //
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReportOtherDetailData 其他出入库明细数据
|
||||||
|
type ReportOtherDetailData struct {
|
||||||
|
CommodityId uint32 `json:"commodity_id"` // 商品id
|
||||||
|
CommodityName string `json:"commodity_name"` // 商品名称
|
||||||
|
CategoryID uint32 `json:"category_id"` // 商品分类id
|
||||||
|
CategoryName string `json:"category_name"` // 商品分类名称
|
||||||
|
IMEIType uint32 `json:"imei_type"` // 1-无串码 2-串码
|
||||||
|
IMEI string `json:"imei"` // 商品串码
|
||||||
|
StoreId uint32 `json:"store_id"` // 门店id
|
||||||
|
StoreName string `json:"store_name"` // 门店名称
|
||||||
|
SupplierId uint32 `json:"supplier_id"` // 供应商id
|
||||||
|
SupplierName string `json:"supplier_name"` // 供应商名称
|
||||||
|
StockTime *time.Time `json:"stock_time"` // 出入库时间
|
||||||
|
State uint32 `json:"state"` // 调拨状态:1-产品入库 2-盘点入库 3-系统出库 4-盘点出库
|
||||||
|
SerialNumber string `json:"serial_number"` // 单据编号
|
||||||
|
PurchasePrice float64 `json:"purchase_price"` // 入库采购价
|
||||||
|
EmployeePrice float64 `json:"employee_price"` // 入库员工成本价
|
||||||
|
}
|
|
@ -16,4 +16,42 @@ func registerInventoryManageRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJ
|
||||||
r.POST("import", inventorymanage.BatchImport) // 库存导入
|
r.POST("import", inventorymanage.BatchImport) // 库存导入
|
||||||
r.POST("add_remark", inventorymanage.AddRemark) // 添加备注
|
r.POST("add_remark", inventorymanage.AddRemark) // 添加备注
|
||||||
r.POST("query_code", inventorymanage.QueryCode) // 查询商品串码或者条码
|
r.POST("query_code", inventorymanage.QueryCode) // 查询商品串码或者条码
|
||||||
|
|
||||||
|
// 产品入库
|
||||||
|
r1 := v1.Group("/inventory/product").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
||||||
|
r1.POST("add", inventorymanage.ProductInventoryAdd) // 新增
|
||||||
|
r1.POST("edit", inventorymanage.ProductInventoryEdit) // 编辑
|
||||||
|
r1.POST("audit", inventorymanage.ProductInventoryAudit) // 审核
|
||||||
|
r1.POST("delete", inventorymanage.ProductInventoryDelete) // 删除
|
||||||
|
r1.POST("list", inventorymanage.ProductInventoryList) // 列表
|
||||||
|
r1.POST("detail", inventorymanage.ProductInventoryDetail) // 详情
|
||||||
|
|
||||||
|
// 库存变动
|
||||||
|
r2 := v1.Group("/inventory/change").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
||||||
|
r2.POST("add", inventorymanage.InventoryChangeAdd) // 新增
|
||||||
|
r2.POST("edit", inventorymanage.InventoryChangeEdit) // 编辑
|
||||||
|
r2.POST("audit", inventorymanage.InventoryChangeAudit) // 审核
|
||||||
|
r2.POST("delete", inventorymanage.InventoryChangeDelete) // 删除
|
||||||
|
r2.POST("list", inventorymanage.InventoryChangeList) // 列表
|
||||||
|
r2.POST("detail", inventorymanage.InventoryChangeDetail) // 详情
|
||||||
|
|
||||||
|
// 库存调拨
|
||||||
|
r3 := v1.Group("/inventory/allot").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
||||||
|
r3.POST("add", inventorymanage.InventoryAllotAdd) // 新增
|
||||||
|
r3.POST("edit", inventorymanage.InventoryAllotEdit) // 编辑
|
||||||
|
r3.POST("audit", inventorymanage.InventoryAllotAudit) // 审核
|
||||||
|
r3.POST("delete", inventorymanage.InventoryAllotDelete) // 删除
|
||||||
|
r3.POST("list", inventorymanage.InventoryAllotList) // 列表
|
||||||
|
r3.POST("detail", inventorymanage.InventoryAllotDetail) // 详情
|
||||||
|
r3.POST("deliver", inventorymanage.InventoryAllotDeliver) // 发货
|
||||||
|
r3.POST("receive", inventorymanage.InventoryAllotReceive) // 收货
|
||||||
|
|
||||||
|
// 库存报表
|
||||||
|
r4 := v1.Group("/inventory/report").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
||||||
|
r4.POST("product", inventorymanage.InventoryReportByProduct) // 产品库存汇总(按门店)
|
||||||
|
r4.POST("allot", inventorymanage.InventoryReportByAllot) // 库存调拨汇总
|
||||||
|
r4.POST("allot_detail", inventorymanage.InventoryReportAllotDetail) // 库存调拨明细
|
||||||
|
r4.POST("other", inventorymanage.InventoryReportByOther) // 其他出入库汇总
|
||||||
|
r4.POST("other_detail", inventorymanage.InventoryReportOtherDetail) // 其他出入库明细
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,9 +41,9 @@ settings:
|
||||||
driver: mysql
|
driver: mysql
|
||||||
# 数据库连接字符串 mysql 缺省信息 charset=utf8&parseTime=True&loc=Local&timeout=1000ms
|
# 数据库连接字符串 mysql 缺省信息 charset=utf8&parseTime=True&loc=Local&timeout=1000ms
|
||||||
# source: root:myTest@921@tcp(127.0.0.1:3306)/mh_dev?charset=utf8&parseTime=True&loc=Local&timeout=1000ms
|
# source: root:myTest@921@tcp(127.0.0.1:3306)/mh_dev?charset=utf8&parseTime=True&loc=Local&timeout=1000ms
|
||||||
source: mh_dev:d9qy46ONI0ZTF9eH@tcp(112.33.14.191:3306)/mh_dev?charset=utf8&parseTime=True&loc=Local&timeout=1000ms
|
# source: mh_dev:d9qy46ONI0ZTF9eH@tcp(112.33.14.191:3306)/mh_dev?charset=utf8&parseTime=True&loc=Local&timeout=1000ms
|
||||||
# source: mh_pro:c5JBW3X6EEVQluYM@tcp(39.108.188.218:3306)/mh_pro?charset=utf8&parseTime=True&loc=Local&timeout=1000ms
|
# source: mh_pro:c5JBW3X6EEVQluYM@tcp(39.108.188.218:3306)/mh_pro?charset=utf8&parseTime=True&loc=Local&timeout=1000ms
|
||||||
# source: mh_test:GPLzZ8rMmbJbKtMh@tcp(112.33.14.191:3306)/mh_test?charset=utf8&parseTime=True&loc=Local&timeout=1000ms
|
source: mh_test:GPLzZ8rMmbJbKtMh@tcp(112.33.14.191:3306)/mh_test?charset=utf8&parseTime=True&loc=Local&timeout=1000ms
|
||||||
|
|
||||||
gen:
|
gen:
|
||||||
# 代码生成读取的数据库名称
|
# 代码生成读取的数据库名称
|
||||||
|
|
Loading…
Reference in New Issue
Block a user