1.添加采购报表相关接口,V1.3.0基本开发完成;

This commit is contained in:
chenlin 2024-03-06 10:07:55 +08:00
parent 9bc9b6f129
commit 094ef70989
6 changed files with 4812 additions and 66 deletions

View File

@ -590,3 +590,111 @@ func ErpPurchaseDemandFinish(c *gin.Context) {
app.OK(c, nil, "操作成功")
return
}
// ErpPurchaseReportByOrder 采购报表(按单)
// @Summary 采购报表(按单)
// @Tags 采购报表, V1.3.0
// @Produce json
// @Accept json
// @Param request body models.ErpPurchaseReportByOrderReq true "采购报表(按单)模型"
// @Success 200 {object} models.ErpPurchaseReportByOrderResp
// @Router /api/v1/erp_purchase/report/order [post]
func ErpPurchaseReportByOrder(c *gin.Context) {
req := new(model.ErpPurchaseReportByOrderReq)
if err := c.ShouldBindJSON(&req); err != nil {
logger.Error("ShouldBindJSON err:", logger.Field("err", err))
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
return
}
resp, err := model.GetReportByOrder(req)
if err != nil {
logger.Error("GetReportByOrder err:", logger.Field("err", err))
app.Error(c, http.StatusInternalServerError, err, "查询失败:"+err.Error())
return
}
app.OK(c, resp, "查询成功")
return
}
// ErpPurchaseReportByCommodity 采购报表(按商品)
// @Summary 采购报表(按商品)
// @Tags 采购报表, V1.3.0
// @Produce json
// @Accept json
// @Param request body models.ErpPurchaseReportByCommodityReq true "采购报表(按商品)模型"
// @Success 200 {object} models.ErpPurchaseReportByCommodityResp
// @Router /api/v1/erp_purchase/report/commodity [post]
func ErpPurchaseReportByCommodity(c *gin.Context) {
req := new(model.ErpPurchaseReportByCommodityReq)
if err := c.ShouldBindJSON(&req); err != nil {
logger.Error("ShouldBindJSON err:", logger.Field("err", err))
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
return
}
resp, err := model.GetReportByCommodity(req)
if err != nil {
logger.Error("GetReportByCommodity err:", logger.Field("err", err))
app.Error(c, http.StatusInternalServerError, err, "查询失败:"+err.Error())
return
}
app.OK(c, resp, "查询成功")
return
}
// ErpPurchaseReportBySupplier 供应商采购汇总
// @Summary 供应商采购汇总
// @Tags 采购报表, V1.3.0
// @Produce json
// @Accept json
// @Param request body models.ErpPurchaseReportBySupplierReq true "供应商采购汇总模型"
// @Success 200 {object} models.ErpPurchaseReportBySupplierResp
// @Router /api/v1/erp_purchase/report/supplier [post]
func ErpPurchaseReportBySupplier(c *gin.Context) {
req := new(model.ErpPurchaseReportBySupplierReq)
if err := c.ShouldBindJSON(&req); err != nil {
logger.Error("ShouldBindJSON err:", logger.Field("err", err))
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
return
}
resp, err := model.GetReportBySupplier(req)
if err != nil {
logger.Error("GetReportBySupplier err:", logger.Field("err", err))
app.Error(c, http.StatusInternalServerError, err, "查询失败:"+err.Error())
return
}
app.OK(c, resp, "查询成功")
return
}
// ErpPurchaseReportDetail 采购明细
// @Summary 采购明细
// @Tags 采购报表, V1.3.0
// @Produce json
// @Accept json
// @Param request body models.ErpPurchaseReportDetailReq true "采购明细模型"
// @Success 200 {object} models.ErpPurchaseReportDetailResp
// @Router /api/v1/erp_purchase/report/detail [post]
func ErpPurchaseReportDetail(c *gin.Context) {
req := new(model.ErpPurchaseReportDetailReq)
if err := c.ShouldBindJSON(&req); err != nil {
logger.Error("ShouldBindJSON err:", logger.Field("err", err))
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
return
}
resp, err := model.GetReportDetail(req)
if err != nil {
logger.Error("GetReportBySupplier err:", logger.Field("err", err))
app.Error(c, http.StatusInternalServerError, err, "查询失败:"+err.Error())
return
}
app.OK(c, resp, "查询成功")
return
}

File diff suppressed because it is too large Load Diff

View File

@ -10,16 +10,23 @@ import (
func registerErpPurchaseManageRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
r := v1.Group("/erp_purchase").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
r.POST("create", purchasemanage.ErpPurchaseCreate) // 创建采购订单(入库/退货)
r.POST("edit", purchasemanage.ErpPurchaseEdit) // 编辑采购订单
r.POST("list", purchasemanage.ErpPurchaseList) // 查询采购订单列表
r.POST("detail", purchasemanage.ErpPurchaseDetail) // 查询采购订单详情
r.POST("audit", purchasemanage.ErpPurchaseAudit) // 审核采购订单
r.POST("delete", purchasemanage.ErpPurchaseDelete) // 删除采购订单
r.POST("inventory", purchasemanage.ErpPurchaseInventory) // 入库(退货)
r.POST("terminate", purchasemanage.ErpPurchaseTerminate) // 终止
r.POST("execute", purchasemanage.ErpPurchaseExecute) // 执行
r.POST("create", purchasemanage.ErpPurchaseCreate) // 创建采购订单(入库/退货)
r.POST("edit", purchasemanage.ErpPurchaseEdit) // 编辑采购订单
r.POST("list", purchasemanage.ErpPurchaseList) // 查询采购订单列表
r.POST("detail", purchasemanage.ErpPurchaseDetail) // 查询采购订单详情
r.POST("audit", purchasemanage.ErpPurchaseAudit) // 审核采购订单
r.POST("delete", purchasemanage.ErpPurchaseDelete) // 删除采购订单
r.POST("inventory", purchasemanage.ErpPurchaseInventory) // 入库(退货)
r.POST("terminate", purchasemanage.ErpPurchaseTerminate) // 终止
r.POST("execute", purchasemanage.ErpPurchaseExecute) // 执行
r.POST("demand/create", purchasemanage.ErpPurchaseDemandCreate) // 创建采购需求
r.POST("demand/get", purchasemanage.ErpPurchaseDemandGet) // 获取采购需求
r.POST("demand/finish", purchasemanage.ErpPurchaseDemandFinish) // 完成采购需求
r.POST("report/order", purchasemanage.ErpPurchaseReportByOrder) // 采购报表(按单)
r.POST("report/commodity", purchasemanage.ErpPurchaseReportByCommodity) // 采购报表(按商品)
r.POST("report/supplier", purchasemanage.ErpPurchaseReportBySupplier) // 供应商采购汇总
r.POST("report/detail", purchasemanage.ErpPurchaseReportDetail) // 采购明细
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1241,6 +1241,78 @@ definitions:
description: 数据总条数
type: integer
type: object
models.ErpCommodityPurchaseOrderData:
properties:
amount:
description: 已执行金额
type: number
audit_time:
description: 审核时间
type: string
auditor_id:
description: 审核人id
type: integer
auditor_name:
description: 审核人名称
type: string
count:
description: 已执行数量
type: integer
erp_supplier_id:
description: 供应商id
type: integer
erp_supplier_name:
description: 供应商名称
type: string
handler_id:
description: 经手人id
type: integer
handler_name:
description: 经手人名称
type: string
maker_id:
description: 制单人id
type: integer
maker_name:
description: 制单人名称
type: string
maker_time:
description: 制单时间
type: string
non_execution_amount:
description: 未执行金额
type: number
non_execution_count:
description: 未执行数量
type: integer
order_id:
description: 采购订单id
type: integer
plan_amount:
description: 计划采购金额
type: number
plan_count:
description: 计划采购数量
type: integer
plan_price:
description: 计划采购单价
type: number
price:
description: 已执行单价
type: number
purchase_type:
description: 单据类型:procure-采购 reject-退货
type: string
serial_number:
description: 单据编号
type: string
store_id:
description: 门店id
type: integer
store_name:
description: 门店名称
type: string
type: object
models.ErpOrder:
properties:
audit_time:
@ -1988,6 +2060,30 @@ definitions:
description: 指导零售价
type: integer
type: object
models.ErpPurchaseCommodityData:
properties:
amount:
description: 已执行金额
type: number
count:
description: 已执行数量
type: integer
erp_category_id:
description: 商品分类id
type: integer
erp_category_name:
description: 商品分类名称
type: string
erp_commodity_id:
description: 商品id
type: integer
erp_commodity_name:
description: 商品名称
type: string
price:
description: 已执行单价
type: number
type: object
models.ErpPurchaseCreateReq:
properties:
account_holder:
@ -2005,7 +2101,7 @@ definitions:
erp_cashier_id:
description: 付款方式
type: integer
erp_purchase_commodities:
erp_purchase_commodity:
description: 采购商品信息
items:
$ref: '#/definitions/models.ErpPurchaseCommodity'
@ -2035,7 +2131,7 @@ definitions:
description: 门店id
type: integer
required:
- erp_purchase_commodities
- erp_purchase_commodity
- purchase_type
type: object
models.ErpPurchaseDetailReq:
@ -2063,7 +2159,7 @@ definitions:
erp_cashier_id:
description: 付款方式
type: integer
erp_purchase_commodities:
erp_purchase_commodity:
description: 采购商品信息
items:
$ref: '#/definitions/models.ErpPurchaseCommodity'
@ -2100,7 +2196,7 @@ definitions:
- delivery_address
- delivery_time
- erp_cashier_id
- erp_purchase_commodities
- erp_purchase_commodity
- erp_purchase_order_id
- erp_supplier_id
- opening_bank
@ -2134,6 +2230,12 @@ definitions:
employee_price:
description: 员工成本价
type: number
erp_category_id:
description: 商品分类id
type: integer
erp_category_name:
description: 商品分类名称
type: string
erp_commodity_id:
description: 商品id
type: integer
@ -2272,6 +2374,9 @@ definitions:
type: object
models.ErpPurchaseOrderListReq:
properties:
audit_flag:
description: 审核标记默认展示所有ON-订单只展示已审核的采购入库订单,含待入库/已终止/已完成
type: string
audit_time_end:
description: 审核结束时间
type: string
@ -2294,7 +2399,7 @@ definitions:
description: 单据编号
type: string
state:
description: 状态1-待审核 2-待入库 3-待退货 4-已完成
description: 状态1-待审核 2-待入库 3-待退货 4-已完成 5-已终止
type: integer
store_id:
description: 门店id
@ -2316,6 +2421,409 @@ definitions:
description: 总条数
type: integer
type: object
models.ErpPurchaseReportByCommodityReq:
properties:
audit_time_end:
description: 审核结束时间
type: string
audit_time_start:
description: 审核开始时间
type: string
erp_category_id:
description: 商品分类id
type: integer
erp_commodity_name:
description: 商品名称
type: string
erp_supplier_id:
description: 供应商id
type: integer
handler_id:
description: 经手人id
type: integer
is_export:
description: 1-导出
type: integer
pageIndex:
description: 页码
type: integer
pageSize:
description: 页面条数
type: integer
purchase_type:
description: 采购类型procure-采购 reject-退货
type: string
serial_number:
description: 单据编号
type: string
state:
description: 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止
type: integer
store_id:
description: 门店id
type: integer
type: object
models.ErpPurchaseReportByCommodityResp:
properties:
amount:
description: 已执行金额
type: number
count:
description: 已执行数量
type: integer
export_url:
description: 导出excel路径
type: string
list:
description: 采购报表信息
items:
$ref: '#/definitions/models.ReportByCommodityData'
type: array
non_execution_amount:
description: 未执行金额
type: number
non_execution_count:
description: 未执行数量
type: integer
order_id:
description: 采购订单id
type: integer
pageIndex:
description: 页码
type: integer
pageSize:
description: 页面条数
type: integer
plan_amount:
description: 计划采购金额
type: number
plan_count:
description: 计划采购数量
type: integer
plan_price:
description: 计划采购单价
type: number
price:
description: 已执行单价
type: number
total:
description: 总条数
type: integer
type: object
models.ErpPurchaseReportByOrderReq:
properties:
audit_time_end:
description: 审核结束时间
type: string
audit_time_start:
description: 审核开始时间
type: string
erp_category_id:
description: 商品分类id
type: integer
erp_commodity_name:
description: 商品名称
type: string
erp_supplier_id:
description: 供应商id
type: integer
handler_id:
description: 经手人id
type: integer
is_export:
description: 1-导出
type: integer
pageIndex:
description: 页码
type: integer
pageSize:
description: 页面条数
type: integer
purchase_type:
description: 采购类型procure-采购 reject-退货
type: string
serial_number:
description: 单据编号
type: string
state:
description: 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止
type: integer
store_id:
description: 门店id
type: integer
type: object
models.ErpPurchaseReportByOrderResp:
properties:
amount:
description: 已执行金额
type: number
count:
description: 已执行数量
type: integer
export_url:
description: 导出excel路径
type: string
list:
description: 采购报表信息
items:
$ref: '#/definitions/models.ReportByOrderData'
type: array
pageIndex:
description: 页码
type: integer
pageSize:
description: 页面条数
type: integer
total:
description: 总条数
type: integer
type: object
models.ErpPurchaseReportBySupplierReq:
properties:
endTime:
description: 入/出库,结束时间
type: string
erp_category_id:
description: 商品分类id
type: integer
erp_commodity_name:
description: 商品名称
type: string
erp_supplier_id:
description: 供应商id
type: integer
is_export:
description: 1-导出
type: integer
pageIndex:
description: 页码
type: integer
pageSize:
description: 页面条数
type: integer
purchase_type:
description: 采购类型procure-采购 reject-退货
type: string
startTime:
description: 入/出库,开始时间
type: string
store_list:
description: 门店复选
items:
properties:
store_id:
description: 门店id
type: integer
store_name:
description: 门店名称
type: string
type: object
type: array
type: object
models.ErpPurchaseReportBySupplierResp:
properties:
amount:
description: 采购金额
type: number
count:
description: 采购数量
type: integer
difference:
description: 差额
type: number
export_url:
description: 导出excel路径
type: string
list:
description: 供应商采购汇总信息
items:
properties:
amount:
description: 采购金额
type: number
count:
description: 采购数量
type: integer
difference:
description: 差额
type: number
erp_category_id:
description: 商品分类id
type: integer
erp_category_name:
description: 商品分类名称
type: string
erp_commodity_id:
description: 商品id
type: integer
erp_commodity_name:
description: 商品名称
type: string
erp_purchase_order_id:
description: 采购订单id
type: integer
erp_supplier_id:
description: 供应商id
type: integer
erp_supplier_name:
description: 供应商名称
type: string
purchase_type:
description: 采购类型:procure-采购 reject-退货
type: string
reject_amount:
description: 退货金额
type: number
store_id:
description: 门店id
type: integer
store_name:
description: 门店名称
type: string
type: object
type: array
pageIndex:
description: 页码
type: integer
pageSize:
description: 页面条数
type: integer
reject_amount:
description: 退货金额
type: number
total:
description: 总条数
type: integer
type: object
models.ErpPurchaseReportDetailReq:
properties:
endTime:
description: 入/出库,结束时间
type: string
erp_category_id:
description: 商品分类id
type: integer
erp_commodity_name:
description: 商品名称
type: string
erp_supplier_id:
description: 供应商id
type: integer
is_export:
description: 1-导出
type: integer
pageIndex:
description: 页码
type: integer
pageSize:
description: 页面条数
type: integer
purchase_type:
description: 采购类型procure-采购 reject-退货
type: string
serial_number:
description: 单据编号
type: string
startTime:
description: 入/出库,开始时间
type: string
store_list:
description: 门店复选
items:
properties:
store_id:
description: 门店id
type: integer
store_name:
description: 门店名称
type: string
type: object
type: array
type: object
models.ErpPurchaseReportDetailResp:
properties:
difference_price:
description: 差价
type: number
employee_price:
description: 员工成本价
type: number
export_url:
description: 导出excel路径
type: string
list:
description: 采购明细信息
items:
properties:
difference_price:
description: 差价
type: number
employee_price:
description: 员工成本价
type: number
erp_category_id:
description: 商品分类id
type: integer
erp_category_name:
description: 商品分类名称
type: string
erp_commodity_id:
description: 商品id
type: integer
erp_commodity_name:
description: 商品名称
type: string
erp_supplier_id:
description: 供应商id
type: integer
erp_supplier_name:
description: 供应商名称
type: string
execute_time:
description: 出/入库时间
type: string
imei:
description: 商品串码
type: string
imei_type:
description: 1-无串码 2-串码
type: integer
order_serial_number:
description: 单据编号
type: string
price:
description: 采购价
type: number
purchase_type:
description: 单据类型:procure-采购 reject-退货
type: string
reject_price:
description: 退货价
type: number
store_id:
description: 门店id
type: integer
store_name:
description: 门店名称
type: string
type: object
type: array
pageIndex:
description: 页码
type: integer
pageSize:
description: 页面条数
type: integer
price:
description: 采购价
type: number
reject_price:
description: 退货价
type: number
total:
description: 总条数
type: integer
type: object
models.ErpPurchaseTerminateReq:
properties:
remark:
@ -3570,6 +4078,118 @@ definitions:
description: 每页展示条数
type: integer
type: object
models.ReportByCommodityData:
properties:
amount:
description: 已执行金额
type: number
count:
description: 已执行数量
type: integer
erp_category_id:
description: 商品分类id
type: integer
erp_category_name:
description: 商品分类名称
type: string
erp_commodity_id:
description: 商品id
type: integer
erp_commodity_name:
description: 商品名称
type: string
non_execution_amount:
description: 未执行金额
type: number
non_execution_count:
description: 未执行数量
type: integer
order_id:
description: 采购订单id
type: integer
order_info:
description: 采购订单信息
items:
$ref: '#/definitions/models.ErpCommodityPurchaseOrderData'
type: array
plan_amount:
description: 计划采购金额
type: number
plan_count:
description: 计划采购数量
type: integer
plan_price:
description: 计划采购单价
type: number
price:
description: 已执行单价
type: number
type: object
models.ReportByOrderData:
properties:
amount:
description: 已执行金额
type: number
audit_time:
description: 审核时间
type: string
auditor_id:
description: 审核人id
type: integer
auditor_name:
description: 审核人名称
type: string
commodity_data:
description: 商品信息
items:
$ref: '#/definitions/models.ErpPurchaseCommodityData'
type: array
count:
description: 已执行数量
type: integer
erp_supplier_id:
description: 供应商id
type: integer
erp_supplier_name:
description: 供应商名称
type: string
handler_id:
description: 经手人id
type: integer
handler_name:
description: 经手人名称
type: string
maker_id:
description: 制单人id
type: integer
maker_name:
description: 制单人名称
type: string
maker_time:
description: 制单时间
type: string
price:
description: 执行单价
type: number
purchase_type:
description: 单据类型:procure-采购 reject-退货
type: string
remark:
description: 备注
type: string
serial_number:
description: 单据编号
type: string
state:
description: 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止
type: integer
store_id:
description: 门店id
type: integer
store_name:
description: 门店名称
type: string
type: object
models.RetailDetailTotalData:
properties:
amount:
@ -6366,6 +6986,94 @@ paths:
tags:
- 采购管理
- V1.3.0
/api/v1/erp_purchase/report/commodity:
post:
consumes:
- application/json
parameters:
- description: 采购报表(按商品)模型
in: body
name: request
required: true
schema:
$ref: '#/definitions/models.ErpPurchaseReportByCommodityReq'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/models.ErpPurchaseReportByCommodityResp'
summary: 采购报表(按商品)
tags:
- 采购报表
- V1.3.0
/api/v1/erp_purchase/report/detail:
post:
consumes:
- application/json
parameters:
- description: 采购明细模型
in: body
name: request
required: true
schema:
$ref: '#/definitions/models.ErpPurchaseReportDetailReq'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/models.ErpPurchaseReportDetailResp'
summary: 采购明细
tags:
- 采购报表
- V1.3.0
/api/v1/erp_purchase/report/order:
post:
consumes:
- application/json
parameters:
- description: 采购报表(按单)模型
in: body
name: request
required: true
schema:
$ref: '#/definitions/models.ErpPurchaseReportByOrderReq'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/models.ErpPurchaseReportByOrderResp'
summary: 采购报表(按单)
tags:
- 采购报表
- V1.3.0
/api/v1/erp_purchase/report/supplier:
post:
consumes:
- application/json
parameters:
- description: 供应商采购汇总模型
in: body
name: request
required: true
schema:
$ref: '#/definitions/models.ErpPurchaseReportBySupplierReq'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/models.ErpPurchaseReportBySupplierResp'
summary: 供应商采购汇总
tags:
- 采购报表
- V1.3.0
/api/v1/erp_purchase/terminate:
post:
consumes: