1.修改采购订单相关缺陷;
This commit is contained in:
parent
d6b993d23e
commit
fcf0f41bcf
|
@ -178,6 +178,15 @@ func ErpPurchaseDetail(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
// 校验时间,如果为01-01-01 08:05,则赋值为空
|
||||
if purchaseOrder.MakerTime != nil && purchaseOrder.MakerTime.IsZero() {
|
||||
purchaseOrder.MakerTime = nil
|
||||
}
|
||||
|
||||
if purchaseOrder.AuditTime != nil && purchaseOrder.AuditTime.IsZero() {
|
||||
purchaseOrder.AuditTime = nil
|
||||
}
|
||||
|
||||
var purchaseCommodities []model.ErpPurchaseCommodity
|
||||
err = orm.Eloquent.Table("erp_purchase_commodity").Where("erp_purchase_order_id=?", req.ErpPurchaseOrderId).
|
||||
Find(&purchaseCommodities).Error
|
||||
|
@ -216,6 +225,9 @@ func ErpPurchaseDetail(c *gin.Context) {
|
|||
|
||||
purchaseOrder.Commodities = commodityList
|
||||
|
||||
// 添加最新入库人信息
|
||||
purchaseOrder.InventoryId, purchaseOrder.InventoryName, _ = model.GetInventoryIdAndName(purchaseOrder.ID)
|
||||
|
||||
app.OK(c, purchaseOrder, "")
|
||||
return
|
||||
}
|
||||
|
@ -511,11 +523,11 @@ func ErpPurchaseTerminate(c *gin.Context) {
|
|||
// @Tags 采购管理, V1.3.0
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body models.ErpPurchaseInventoryReq true "执行(入库/退货)模型"
|
||||
// @Param request body models.ErpPurchaseExecuteReq true "执行(入库/退货)模型"
|
||||
// @Success 200 {object} models.ErpPurchaseExecuteResp
|
||||
// @Router /api/v1/erp_purchase/execute [post]
|
||||
func ErpPurchaseExecute(c *gin.Context) {
|
||||
req := new(model.ErpPurchaseInventoryReq)
|
||||
req := new(model.ErpPurchaseExecuteReq)
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
logger.Error("ShouldBindJSON err:", logger.Field("err", err))
|
||||
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||
|
|
|
@ -75,7 +75,7 @@ type ErpStockCommodity struct {
|
|||
StorageType uint32 `json:"storage_type"` // 入库方式:1-系统入库 2-采购入库
|
||||
FirstStockTime time.Time `json:"first_stock_time"` // 首次入库时间
|
||||
StockSn string `json:"stock_sn"` // 库存订单编号
|
||||
OriginalSn string `json:"original_sn" gorm:"index"` // 首次入库订单编号
|
||||
OriginalSn string `json:"original_sn" gorm:"index"` // 首次入库订单编号(单据编号)
|
||||
StockStartTime time.Time `json:"stock_start_time" gorm:"-"` // 最近入库开始时间
|
||||
StockEndTime time.Time `json:"stock_end_time" gorm:"-"` // 最近入库结束时间
|
||||
Age uint32 `json:"age" gorm:"-"` // 最近库龄
|
||||
|
|
|
@ -108,7 +108,8 @@ type ErpOrderCommodity struct {
|
|||
VmDiscount float64 `json:"vm_discount"` // 会员积分抵扣
|
||||
Amount float64 `json:"amount"` // 实际零售价
|
||||
ReceivedAmount float64 `json:"received_amount"` // 商品实收金额
|
||||
Remark string `json:"remark"` // 备注
|
||||
Remark string `json:"remark"` // 销售备注
|
||||
RejectedRemark string `json:"rejected_remark"` // 退货备注
|
||||
RejectedPrice float64 `json:"rejected_price"` // 退货单价
|
||||
RejectedCount uint32 `json:"rejected_count"` // 退货数量
|
||||
RejectedAmount float64 `json:"rejected_amount"` // 退货金额
|
||||
|
@ -2908,6 +2909,9 @@ func checkOrderData(req *ErpOrderCreateReq, sysUser *SysUser) (*ErpOrder, error)
|
|||
return nil, errors.New("rejected order commodity id is null")
|
||||
}
|
||||
v.ID = 0
|
||||
v.Remark = req.ErpOrderCommodities[i].Remark // 备注
|
||||
v.RejectedRemark = req.ErpOrderCommodities[i].RejectedRemark // 退货备注
|
||||
|
||||
req.ErpOrderCommodities[i] = v
|
||||
if req.ErpOrderCommodities[i].RejectedPrice > req.ErpOrderCommodities[i].Amount { // 退货单价不能大于实际零售价
|
||||
logger.Error("rejected price gt retail price ")
|
||||
|
@ -2941,7 +2945,6 @@ func checkOrderData(req *ErpOrderCreateReq, sysUser *SysUser) (*ErpOrder, error)
|
|||
req.ErpOrderCommodities[i].StaffProfit = StaffProfit // 员工毛利
|
||||
erpOrder.TotalSalesProfit += salesProfit
|
||||
erpOrder.TotalStaffProfit += StaffProfit
|
||||
|
||||
} else if req.RetailType == RetailTypeSale { // 零售订单
|
||||
var v ErpStockCommodity
|
||||
var ok bool
|
||||
|
@ -3065,7 +3068,7 @@ func updateCommodityData(gdb *gorm.DB, orderId uint32, req *ErpOrderCreateReq) e
|
|||
if reqCommodity.ErpCommodityId == dbCommodity.ErpCommodityId {
|
||||
found = true
|
||||
// 找到匹配的商品,加入匹配列表
|
||||
matchingCommodities = append(matchingCommodities, dbCommodity)
|
||||
matchingCommodities = append(matchingCommodities, reqCommodity)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,31 +35,33 @@ const (
|
|||
// ErpPurchaseOrder 采购订单表
|
||||
type ErpPurchaseOrder struct {
|
||||
Model
|
||||
SerialNumber string `json:"serial_number" gorm:"index"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 类型:procure-采购 reject-退货
|
||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||
StoreName string `json:"store_name"` // 门店名称
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id" gorm:"index"` // 供应商id
|
||||
ErpSupplierName string `json:"erp_supplier_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-待入库 3-待退货 4-已完成 5-已终止
|
||||
RejectedPurchaseOrderId uint32 `json:"rejected_purchase_order_id"` // 退货采购订单id
|
||||
ErpCashierId uint32 `json:"erp_cashier_id"` // 付款方式/收款方式id
|
||||
ErpCashierName string `json:"erp_cashier_name"` // 付款方式/收款方式名称
|
||||
AccountHolder string `json:"account_holder"` // 收款人
|
||||
OpeningBank string `json:"opening_bank"` // 开户行
|
||||
BankAccount string `json:"bank_account"` // 银行卡号
|
||||
DeliveryTime string `json:"delivery_time"` // 交货日期,如:2024-02-23
|
||||
DeliveryAddress string `json:"delivery_address"` // 交货地址
|
||||
Remark string `json:"remark"` // 备注
|
||||
Commodities []ErpPurchaseCommodity `json:"commodities" gorm:"-"`
|
||||
SerialNumber string `json:"serial_number" gorm:"index"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 类型:procure-采购 reject-退货
|
||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||
StoreName string `json:"store_name"` // 门店名称
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id" gorm:"index"` // 供应商id
|
||||
ErpSupplierName string `json:"erp_supplier_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-待入库 3-待退货 4-已完成 5-已终止 6-入库中 7-退货中
|
||||
RejectedSerialNumber string `json:"rejected_serial_number"` // 退货的采购订单单据编号
|
||||
ErpCashierId uint32 `json:"erp_cashier_id"` // 付款方式/收款方式id
|
||||
ErpCashierName string `json:"erp_cashier_name"` // 付款方式/收款方式名称
|
||||
AccountHolder string `json:"account_holder"` // 收款人
|
||||
OpeningBank string `json:"opening_bank"` // 开户行
|
||||
BankAccount string `json:"bank_account"` // 银行卡号
|
||||
DeliveryTime string `json:"delivery_time"` // 交货日期,如:2024-02-23
|
||||
DeliveryAddress string `json:"delivery_address"` // 交货地址
|
||||
Remark string `json:"remark"` // 备注
|
||||
Commodities []ErpPurchaseCommodity `json:"commodities" gorm:"-"` //
|
||||
InventoryId uint32 `json:"inventory_id" gorm:"-"` // 最近入库人id
|
||||
InventoryName string `json:"inventory_name" gorm:"-"` // 最近入库人名称
|
||||
}
|
||||
|
||||
// ErpPurchaseCommodity 采购订单商品表
|
||||
|
@ -105,6 +107,8 @@ type ErpPurchaseInventory struct {
|
|||
ImplementationPrice float64 `json:"implementation_price"` // 执行单价
|
||||
Amount float64 `json:"amount"` // 执行金额
|
||||
EmployeePrice float64 `json:"employee_price"` // 员工成本价
|
||||
InventoryId uint32 `json:"inventory_id"` // 最近入库人id
|
||||
InventoryName string `json:"inventory_name"` // 最近入库人名称
|
||||
}
|
||||
|
||||
// ErpPurchaseCreateReq 新建采购订单入参
|
||||
|
@ -172,8 +176,17 @@ type ErpPurchaseDetailReq struct {
|
|||
ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id" binding:"required"` // 采购订单id
|
||||
}
|
||||
|
||||
// ErpPurchaseInventoryReq 入库(退货)入参;执行(入库/退货)入参
|
||||
// ErpPurchaseInventoryReq 入库(退货)入参
|
||||
type ErpPurchaseInventoryReq struct {
|
||||
ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id" binding:"required"` // 采购订单id
|
||||
PurchaseType string `json:"purchase_type" binding:"required"` // 采购类型:procure-采购 reject-退货
|
||||
InventoryId uint32 `json:"inventory_id" binding:"required"` // 最近入库人id
|
||||
InventoryName string `json:"inventory_name" binding:"required"` // 最近入库人名称
|
||||
Inventories []ErpPurchaseInventory `json:"inventories" binding:"required"` // 采购入库执行信息
|
||||
}
|
||||
|
||||
// ErpPurchaseExecuteReq 执行(入库/退货)入参
|
||||
type ErpPurchaseExecuteReq struct {
|
||||
ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id" binding:"required"` // 采购订单id
|
||||
PurchaseType string `json:"purchase_type" binding:"required"` // 采购类型:procure-采购 reject-退货
|
||||
Inventories []ErpPurchaseInventory `json:"inventories" binding:"required"` // 采购入库执行信息
|
||||
|
@ -292,19 +305,19 @@ type FinishErpPurchaseDemandReq struct {
|
|||
|
||||
// ErpPurchaseReportByOrderReq 采购报表(按单)入参
|
||||
type ErpPurchaseReportByOrderReq struct {
|
||||
SerialNumber string `json:"serial_number"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 采购类型:procure-采购 reject-退货
|
||||
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
|
||||
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
|
||||
StoreId uint32 `json:"store_id"` // 门店id
|
||||
HandlerId uint32 `json:"handler_id"` // 经手人id
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id
|
||||
State uint32 `json:"state"` // 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止
|
||||
AuditTimeStart string `json:"audit_time_start"` // 审核开始时间
|
||||
AuditTimeEnd string `json:"audit_time_end"` // 审核结束时间
|
||||
IsExport uint32 `json:"is_export"` // 1-导出
|
||||
PageIndex int `json:"pageIndex"` // 页码
|
||||
PageSize int `json:"pageSize"` // 页面条数
|
||||
SerialNumber string `json:"serial_number"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 采购类型:procure-采购 reject-退货
|
||||
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
|
||||
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
|
||||
StoreId []uint32 `json:"store_id"` // 门店id
|
||||
HandlerId uint32 `json:"handler_id"` // 经手人id
|
||||
ErpSupplierId []uint32 `json:"erp_supplier_id"` // 供应商id
|
||||
State uint32 `json:"state"` // 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止
|
||||
AuditTimeStart string `json:"audit_time_start"` // 审核开始时间
|
||||
AuditTimeEnd string `json:"audit_time_end"` // 审核结束时间
|
||||
IsExport uint32 `json:"is_export"` // 1-导出
|
||||
PageIndex int `json:"pageIndex"` // 页码
|
||||
PageSize int `json:"pageSize"` // 页面条数
|
||||
}
|
||||
|
||||
// ErpPurchaseReportByOrderResp 采购报表(按单)出参
|
||||
|
@ -336,20 +349,21 @@ type CommodityData struct {
|
|||
}
|
||||
|
||||
type CommonData struct {
|
||||
SerialNumber string `json:"serial_number"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 单据类型:procure-采购 reject-退货
|
||||
StoreId uint32 `json:"store_id"` // 门店id
|
||||
StoreName string `json:"store_name"` // 门店名称
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id
|
||||
ErpSupplierName string `json:"erp_supplier_name"` // 供应商名称
|
||||
HandlerId uint32 `json:"handler_id"` // 经手人id
|
||||
HandlerName string `json:"handler_name"` // 经手人名称
|
||||
MakerTime time.Time `json:"maker_time"` // 制单时间
|
||||
MakerId uint32 `json:"maker_id"` // 制单人id
|
||||
MakerName string `json:"maker_name"` // 制单人名称
|
||||
AuditTime time.Time `json:"audit_time"` // 审核时间
|
||||
AuditorId uint32 `json:"auditor_id"` // 审核人id
|
||||
AuditorName string `json:"auditor_name"` // 审核人名称
|
||||
ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id"` // 采购订单id
|
||||
SerialNumber string `json:"serial_number"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 单据类型:procure-采购 reject-退货
|
||||
StoreId uint32 `json:"store_id"` // 门店id
|
||||
StoreName string `json:"store_name"` // 门店名称
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id
|
||||
ErpSupplierName string `json:"erp_supplier_name"` // 供应商名称
|
||||
HandlerId uint32 `json:"handler_id"` // 经手人id
|
||||
HandlerName string `json:"handler_name"` // 经手人名称
|
||||
MakerTime *time.Time `json:"maker_time"` // 制单时间
|
||||
MakerId uint32 `json:"maker_id"` // 制单人id
|
||||
MakerName string `json:"maker_name"` // 制单人名称
|
||||
AuditTime *time.Time `json:"audit_time"` // 审核时间
|
||||
AuditorId uint32 `json:"auditor_id"` // 审核人id
|
||||
AuditorName string `json:"auditor_name"` // 审核人名称
|
||||
}
|
||||
|
||||
// ErpPurchaseCommodityData 采购订单商品信息
|
||||
|
@ -362,19 +376,19 @@ type ErpPurchaseCommodityData struct {
|
|||
|
||||
// ErpPurchaseReportByCommodityReq 采购报表(按商品)入参
|
||||
type ErpPurchaseReportByCommodityReq struct {
|
||||
SerialNumber string `json:"serial_number"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 采购类型:procure-采购 reject-退货
|
||||
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
|
||||
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
|
||||
StoreId uint32 `json:"store_id"` // 门店id
|
||||
HandlerId uint32 `json:"handler_id"` // 经手人id
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id
|
||||
State uint32 `json:"state"` // 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止
|
||||
AuditTimeStart string `json:"audit_time_start"` // 审核开始时间
|
||||
AuditTimeEnd string `json:"audit_time_end"` // 审核结束时间
|
||||
IsExport uint32 `json:"is_export"` // 1-导出
|
||||
PageIndex int `json:"pageIndex"` // 页码
|
||||
PageSize int `json:"pageSize"` // 页面条数
|
||||
SerialNumber string `json:"serial_number"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 采购类型:procure-采购 reject-退货
|
||||
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
|
||||
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
|
||||
StoreId []uint32 `json:"store_id"` // 门店id
|
||||
HandlerId uint32 `json:"handler_id"` // 经手人id
|
||||
ErpSupplierId []uint32 `json:"erp_supplier_id"` // 供应商id
|
||||
State uint32 `json:"state"` // 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止
|
||||
AuditTimeStart string `json:"audit_time_start"` // 审核开始时间
|
||||
AuditTimeEnd string `json:"audit_time_end"` // 审核结束时间
|
||||
IsExport uint32 `json:"is_export"` // 1-导出
|
||||
PageIndex int `json:"pageIndex"` // 页码
|
||||
PageSize int `json:"pageSize"` // 页面条数
|
||||
}
|
||||
|
||||
// ErpPurchaseReportByCommodityResp 采购报表(按商品)出参
|
||||
|
@ -461,21 +475,17 @@ type ErpPurchaseReportBySupplierResp struct {
|
|||
|
||||
// ErpPurchaseReportDetailReq 采购明细入参
|
||||
type ErpPurchaseReportDetailReq struct {
|
||||
SerialNumber string `json:"serial_number"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 采购类型:procure-采购 reject-退货
|
||||
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
|
||||
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id
|
||||
StartTime string `json:"startTime"` // 入/出库,开始时间
|
||||
EndTime string `json:"endTime"` // 入/出库,结束时间
|
||||
IsExport uint32 `json:"is_export"` // 1-导出
|
||||
PageIndex int `json:"pageIndex"` // 页码
|
||||
PageSize int `json:"pageSize"` // 页面条数
|
||||
StoreList []struct {
|
||||
StoreID uint32 `json:"store_id"` // 门店id
|
||||
StoreName string `json:"store_name"` // 门店名称
|
||||
} `json:"store_list"` // 门店复选
|
||||
|
||||
SerialNumber string `json:"serial_number"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 采购类型:procure-采购 reject-退货
|
||||
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
|
||||
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id
|
||||
StartTime string `json:"startTime"` // 入/出库,开始时间
|
||||
EndTime string `json:"endTime"` // 入/出库,结束时间
|
||||
IsExport uint32 `json:"is_export"` // 1-导出
|
||||
PageIndex int `json:"pageIndex"` // 页码
|
||||
PageSize int `json:"pageSize"` // 页面条数
|
||||
StoreId []uint32 `json:"store_id"` // 门店id
|
||||
}
|
||||
|
||||
// ErpPurchaseReportDetailResp 采购明细出参
|
||||
|
@ -489,23 +499,24 @@ type ErpPurchaseReportDetailResp struct {
|
|||
DifferencePrice float64 `json:"difference_price"` // 差价
|
||||
ExportUrl string `json:"export_url"` // 导出excel路径
|
||||
List []struct {
|
||||
OrderSerialNumber string `json:"order_serial_number"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 单据类型:procure-采购 reject-退货
|
||||
ExecuteTime *time.Time `json:"execute_time"` // 出/入库时间
|
||||
StoreId uint32 `json:"store_id"` // 门店id
|
||||
StoreName string `json:"store_name"` // 门店名称
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id
|
||||
ErpSupplierName string `json:"erp_supplier_name"` // 供应商名称
|
||||
ErpCommodityId uint32 `json:"erp_commodity_id"` // 商品id
|
||||
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
|
||||
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
|
||||
ErpCategoryName string `json:"erp_category_name"` // 商品分类名称
|
||||
IMEIType uint32 `json:"imei_type"` // 1-无串码 2-串码
|
||||
IMEI string `json:"imei"` // 商品串码
|
||||
Price float64 `json:"price"` // 采购价
|
||||
EmployeePrice float64 `json:"employee_price"` // 员工成本价
|
||||
RejectPrice float64 `json:"reject_price"` // 退货价
|
||||
DifferencePrice float64 `json:"difference_price"` // 差价
|
||||
ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id"` // 采购订单id
|
||||
OrderSerialNumber string `json:"order_serial_number"` // 单据编号
|
||||
PurchaseType string `json:"purchase_type"` // 单据类型:procure-采购 reject-退货
|
||||
ExecuteTime *time.Time `json:"execute_time"` // 出/入库时间
|
||||
StoreId uint32 `json:"store_id"` // 门店id
|
||||
StoreName string `json:"store_name"` // 门店名称
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id
|
||||
ErpSupplierName string `json:"erp_supplier_name"` // 供应商名称
|
||||
ErpCommodityId uint32 `json:"erp_commodity_id"` // 商品id
|
||||
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
|
||||
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
|
||||
ErpCategoryName string `json:"erp_category_name"` // 商品分类名称
|
||||
IMEIType uint32 `json:"imei_type"` // 1-无串码 2-串码
|
||||
IMEI string `json:"imei"` // 商品串码
|
||||
Price float64 `json:"price"` // 采购价
|
||||
EmployeePrice float64 `json:"employee_price"` // 员工成本价
|
||||
RejectPrice float64 `json:"reject_price"` // 退货价
|
||||
DifferencePrice float64 `json:"difference_price"` // 差价
|
||||
} `json:"list"` // 采购明细信息
|
||||
}
|
||||
|
||||
|
@ -527,6 +538,7 @@ func (m *ErpPurchaseOrderListReq) List() (*ErpPurchaseOrderListResp, error) {
|
|||
if m.AuditFlag == "ON" { //2-待入库 4-已完成 5-已终止
|
||||
stateList = []int{2, 4, 5}
|
||||
qs = qs.Where("state IN ?", stateList)
|
||||
qs = qs.Where("purchase_type=?", ErpProcureOrder)
|
||||
}
|
||||
if m.SerialNumber != "" {
|
||||
qs = qs.Where("serial_number=?", m.SerialNumber)
|
||||
|
@ -579,6 +591,17 @@ func (m *ErpPurchaseOrderListReq) List() (*ErpPurchaseOrderListResp, error) {
|
|||
return resp, err
|
||||
}
|
||||
|
||||
// 校验时间,如果为01-01-01 08:05,则赋值为空
|
||||
for i, v := range orders {
|
||||
if v.MakerTime != nil && v.MakerTime.IsZero() {
|
||||
orders[i].MakerTime = nil
|
||||
}
|
||||
|
||||
if v.AuditTime != nil && v.AuditTime.IsZero() {
|
||||
orders[i].AuditTime = nil
|
||||
}
|
||||
}
|
||||
|
||||
resp.List = orders
|
||||
return resp, nil
|
||||
}
|
||||
|
@ -775,7 +798,7 @@ func CreateErpPurchaseOrder(req *ErpPurchaseCreateReq, sysUser *SysUser) (*ErpPu
|
|||
PurchaseType: req.PurchaseType,
|
||||
StoreId: req.StoreId,
|
||||
ErpSupplierId: req.ErpSupplierId,
|
||||
MakerTime: nowTime,
|
||||
MakerTime: &nowTime,
|
||||
HandlerId: req.HandlerId,
|
||||
HandlerName: req.HandlerName,
|
||||
MakerId: uint32(sysUser.UserId),
|
||||
|
@ -802,18 +825,19 @@ func CreateErpPurchaseOrder(req *ErpPurchaseCreateReq, sysUser *SysUser) (*ErpPu
|
|||
}
|
||||
|
||||
purchaseOrder = &ErpPurchaseOrder{
|
||||
SerialNumber: "cgt" + NewErpPurchaseSn(),
|
||||
PurchaseType: req.PurchaseType,
|
||||
StoreId: erpPurchaseOrder.StoreId,
|
||||
ErpSupplierId: erpPurchaseOrder.ErpSupplierId,
|
||||
MakerTime: nowTime,
|
||||
HandlerId: req.HandlerId,
|
||||
HandlerName: req.HandlerName,
|
||||
MakerId: uint32(sysUser.UserId),
|
||||
MakerName: sysUser.NickName,
|
||||
State: ErpPurchaseOrderUnAudit, // 1-待审核
|
||||
ErpCashierId: req.ErpCashierId,
|
||||
Remark: req.Remark,
|
||||
SerialNumber: "cgt" + NewErpPurchaseSn(),
|
||||
PurchaseType: req.PurchaseType,
|
||||
StoreId: erpPurchaseOrder.StoreId,
|
||||
ErpSupplierId: erpPurchaseOrder.ErpSupplierId,
|
||||
MakerTime: &nowTime,
|
||||
HandlerId: req.HandlerId,
|
||||
HandlerName: req.HandlerName,
|
||||
MakerId: uint32(sysUser.UserId),
|
||||
MakerName: sysUser.NickName,
|
||||
State: ErpPurchaseOrderUnAudit, // 1-待审核
|
||||
ErpCashierId: req.ErpCashierId,
|
||||
Remark: req.Remark,
|
||||
RejectedSerialNumber: req.PurchaseOrderSn,
|
||||
}
|
||||
err = purchaseOrder.IdInit()
|
||||
} else {
|
||||
|
@ -1018,7 +1042,9 @@ func InventoryErpPurchase(req *ErpPurchaseInventoryReq) error {
|
|||
logger.Error("update inventory count err:", logger.Field("err", err))
|
||||
return err
|
||||
}
|
||||
v.PurchaseType = req.PurchaseType // 记录采购类型
|
||||
v.PurchaseType = req.PurchaseType // 记录采购类型
|
||||
v.InventoryId = req.InventoryId // 记录入库人id
|
||||
v.InventoryName = req.InventoryName // 记录入库人姓名
|
||||
// 新建采购入库记录
|
||||
err = begin.Create(&v).Error
|
||||
if err != nil {
|
||||
|
@ -1036,10 +1062,13 @@ func InventoryErpPurchase(req *ErpPurchaseInventoryReq) error {
|
|||
return err
|
||||
}
|
||||
|
||||
var orderState int
|
||||
// 更新库存信息表
|
||||
if purchaseOrder.PurchaseType == ErpProcureOrder { //采购入库订单
|
||||
orderState = ErpPurchaseOrderInInventory
|
||||
err = InventoryErpPurchaseUpdateStock(begin, req, purchaseOrder)
|
||||
} else if purchaseOrder.PurchaseType == ErpRejectOrder { // 采购退货订单
|
||||
orderState = ErpPurchaseOrderInReject
|
||||
err = InventoryErpPurchaseUpdateRejectStock(begin, req, purchaseOrder)
|
||||
} else {
|
||||
return errors.New("订单类型有误")
|
||||
|
@ -1050,6 +1079,18 @@ func InventoryErpPurchase(req *ErpPurchaseInventoryReq) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// 更新采购订单状态
|
||||
if purchaseOrder.State != uint32(orderState) {
|
||||
err = begin.Table("erp_purchase_order").Where("id = ?", purchaseOrder.ID).Updates(map[string]interface{}{
|
||||
"state": orderState,
|
||||
}).Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("update erp_purchase_order err:", logger.Field("err", err))
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
err = begin.Commit().Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
|
@ -1060,6 +1101,19 @@ func InventoryErpPurchase(req *ErpPurchaseInventoryReq) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// GetInventoryIdAndName 获取采购单最近入库人信息
|
||||
func GetInventoryIdAndName(orderId uint32) (uint32, string, error) {
|
||||
var purchaseInventory ErpPurchaseInventory
|
||||
err := orm.Eloquent.Table("erp_purchase_inventory").Where("erp_purchase_order_id=?", orderId).
|
||||
First(&purchaseInventory).Order("created_at DESC").Error
|
||||
if err != nil {
|
||||
logger.Error("purchase order err:", logger.Field("err", err))
|
||||
return 0, "", err
|
||||
}
|
||||
|
||||
return purchaseInventory.InventoryId, purchaseInventory.InventoryName, nil
|
||||
}
|
||||
|
||||
// InventoryErpPurchaseUpdateStock 采购订单入库更新库存信息
|
||||
func InventoryErpPurchaseUpdateStock(gdb *gorm.DB, req *ErpPurchaseInventoryReq, purchaseOrder ErpPurchaseOrder) error {
|
||||
// 遍历采购入库商品信息
|
||||
|
@ -1131,6 +1185,7 @@ func InventoryErpPurchaseUpdateStock(gdb *gorm.DB, req *ErpPurchaseInventoryReq,
|
|||
MemberDiscount: commodityInfo.MemberDiscount,
|
||||
MinRetailPrice: commodityInfo.MinRetailPrice,
|
||||
RetailPrice: commodityInfo.RetailPrice,
|
||||
OriginalSn: purchaseOrder.SerialNumber,
|
||||
}
|
||||
stockList = append(stockList, stockCommodity)
|
||||
}
|
||||
|
@ -1180,7 +1235,7 @@ func InventoryErpPurchaseUpdateRejectStock(gdb *gorm.DB, req *ErpPurchaseInvento
|
|||
logger.Error("RetailTypeRejected commodities err:", logger.Field("err", err))
|
||||
return err
|
||||
}
|
||||
} else { // 非串码商品
|
||||
} else { // todo 非串码商品,需要判断下更新的数量和库存数量是否相同,如果库存数量不够不支持退货
|
||||
var stockCommodity []ErpStockCommodity
|
||||
// 通过门店id,商品id,查找状态为1-在库的非串码商品
|
||||
err := orm.Eloquent.Table("erp_stock_commodity").Where("erp_commodity_id = ? and store_id = ? "+
|
||||
|
@ -1293,8 +1348,13 @@ func checkPurchaseInventory(req *ErpPurchaseInventoryReq) error {
|
|||
}
|
||||
|
||||
// ExecuteErpPurchase 执行(入库/退货)
|
||||
func ExecuteErpPurchase(req *ErpPurchaseInventoryReq) (*ErpPurchaseExecuteResp, error) {
|
||||
err := checkPurchaseInventory(req)
|
||||
func ExecuteErpPurchase(req *ErpPurchaseExecuteReq) (*ErpPurchaseExecuteResp, error) {
|
||||
reqParam := &ErpPurchaseInventoryReq{
|
||||
ErpPurchaseOrderId: req.ErpPurchaseOrderId,
|
||||
PurchaseType: req.PurchaseType,
|
||||
Inventories: req.Inventories,
|
||||
}
|
||||
err := checkPurchaseInventory(reqParam)
|
||||
if err != nil {
|
||||
logger.Error("checkPurchaseInventoryReq err:", logger.Field("err", err))
|
||||
return nil, err
|
||||
|
@ -1410,7 +1470,18 @@ func CreateErpPurchaseDemand(req *CreateErpPurchaseDemandReq, sysUser *SysUser)
|
|||
}
|
||||
}
|
||||
|
||||
err := begin.Commit().Error
|
||||
// 更新备注
|
||||
err := begin.Model(&ErpPurchaseDemand{}).Where("erp_commodity_id = ? and state = 1",
|
||||
req.ErpCommodityID).Updates(map[string]interface{}{
|
||||
"remark": req.Remark,
|
||||
}).Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("update erp_order remark err:", logger.Field("err", err))
|
||||
return err
|
||||
}
|
||||
|
||||
err = begin.Commit().Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("commit err:", logger.Field("err", err))
|
||||
|
@ -2748,6 +2819,7 @@ func getReportByOrderFromCommodityOrCategory(req *ErpPurchaseReportByOrderReq) (
|
|||
if req.ErpCategoryID != 0 {
|
||||
qs = qs.Where("erp_category_id=?", req.ErpCategoryID)
|
||||
}
|
||||
|
||||
var inventoryList []ErpPurchaseInventory
|
||||
var err error
|
||||
if req.IsExport == 1 { // 导出excel
|
||||
|
@ -2777,11 +2849,30 @@ func getReportByOrderFromCommodityOrCategory(req *ErpPurchaseReportByOrderReq) (
|
|||
for _, v := range commodityMap {
|
||||
var purchaseOrder ErpPurchaseOrder
|
||||
var commodityList []ErpPurchaseCommodityData
|
||||
err = orm.Eloquent.Table("erp_purchase_order").Where("id = ?", v).Find(&purchaseOrder).Error
|
||||
|
||||
query := orm.Eloquent.Table("erp_purchase_order")
|
||||
|
||||
if len(req.ErpSupplierId) > 0 { // 供应商复选
|
||||
var supplierIDs []uint32
|
||||
for _, supplier := range req.ErpSupplierId {
|
||||
supplierIDs = append(supplierIDs, supplier)
|
||||
}
|
||||
query = query.Where("erp_purchase_order.erp_supplier_id IN (?)", supplierIDs)
|
||||
}
|
||||
if len(req.StoreId) > 0 { // 门店复选
|
||||
var storeIDs []uint32
|
||||
for _, store := range req.StoreId {
|
||||
storeIDs = append(storeIDs, store)
|
||||
}
|
||||
query = query.Where("erp_purchase_order.store_id IN (?)", storeIDs)
|
||||
}
|
||||
|
||||
err = query.Where("id = ?", v).Find(&purchaseOrder).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var reportByOrderData ReportByOrderData
|
||||
reportByOrderData.ErpPurchaseOrderId = purchaseOrder.ID
|
||||
reportByOrderData.SerialNumber = purchaseOrder.SerialNumber
|
||||
reportByOrderData.PurchaseType = purchaseOrder.PurchaseType
|
||||
reportByOrderData.StoreId = purchaseOrder.StoreId
|
||||
|
@ -2799,6 +2890,18 @@ func getReportByOrderFromCommodityOrCategory(req *ErpPurchaseReportByOrderReq) (
|
|||
reportByOrderData.State = purchaseOrder.State
|
||||
reportByOrderData.Remark = purchaseOrder.Remark
|
||||
|
||||
if purchaseOrder.MakerTime != nil && purchaseOrder.MakerTime.IsZero() {
|
||||
reportByOrderData.MakerTime = nil
|
||||
} else {
|
||||
reportByOrderData.MakerTime = purchaseOrder.MakerTime
|
||||
}
|
||||
|
||||
if purchaseOrder.AuditTime != nil && purchaseOrder.AuditTime.IsZero() {
|
||||
reportByOrderData.AuditTime = nil
|
||||
} else {
|
||||
reportByOrderData.AuditTime = purchaseOrder.AuditTime
|
||||
}
|
||||
|
||||
var nAmount float64
|
||||
var nCount uint32
|
||||
for _, inventory := range inventoryList {
|
||||
|
@ -2865,11 +2968,19 @@ func getReportByOrderFromCommon(req *ErpPurchaseReportByOrderReq) (*ErpPurchaseR
|
|||
if req.PurchaseType != "" { // 采购类型
|
||||
qs = qs.Where("purchase_type=?", req.PurchaseType)
|
||||
}
|
||||
if req.StoreId != 0 { // 门店id
|
||||
qs = qs.Where("store_id=?", req.StoreId)
|
||||
if len(req.ErpSupplierId) > 0 { // 供应商复选
|
||||
var supplierIDs []uint32
|
||||
for _, supplier := range req.ErpSupplierId {
|
||||
supplierIDs = append(supplierIDs, supplier)
|
||||
}
|
||||
qs = qs.Where("erp_supplier_id IN (?)", supplierIDs)
|
||||
}
|
||||
if req.ErpSupplierId != 0 { // 供应商id
|
||||
qs = qs.Where("erp_supplier_id=?", req.ErpSupplierId)
|
||||
if len(req.StoreId) > 0 { // 门店复选
|
||||
var storeIDs []uint32
|
||||
for _, store := range req.StoreId {
|
||||
storeIDs = append(storeIDs, store)
|
||||
}
|
||||
qs = qs.Where("store_id IN (?)", storeIDs)
|
||||
}
|
||||
if req.HandlerId != 0 { // 经手人id
|
||||
qs = qs.Where("handler_id=?", req.HandlerId)
|
||||
|
@ -2922,6 +3033,7 @@ func getReportByOrderFromCommon(req *ErpPurchaseReportByOrderReq) (*ErpPurchaseR
|
|||
var reportByOrderData ReportByOrderData
|
||||
var nAmount float64
|
||||
var nCount uint32
|
||||
reportByOrderData.ErpPurchaseOrderId = v.ID
|
||||
reportByOrderData.SerialNumber = v.SerialNumber
|
||||
reportByOrderData.PurchaseType = v.PurchaseType
|
||||
reportByOrderData.StoreId = v.StoreId
|
||||
|
@ -2930,14 +3042,27 @@ func getReportByOrderFromCommon(req *ErpPurchaseReportByOrderReq) (*ErpPurchaseR
|
|||
reportByOrderData.ErpSupplierName = v.ErpSupplierName
|
||||
reportByOrderData.HandlerId = v.HandlerId
|
||||
reportByOrderData.HandlerName = v.HandlerName
|
||||
reportByOrderData.MakerTime = v.MakerTime
|
||||
//reportByOrderData.MakerTime = v.MakerTime
|
||||
reportByOrderData.MakerId = v.MakerId
|
||||
reportByOrderData.MakerName = v.MakerName
|
||||
reportByOrderData.AuditorId = v.AuditorId
|
||||
reportByOrderData.AuditTime = v.AuditTime
|
||||
//reportByOrderData.AuditTime = v.AuditTime
|
||||
reportByOrderData.AuditorName = v.AuditorName
|
||||
reportByOrderData.State = v.State
|
||||
reportByOrderData.Remark = v.Remark
|
||||
|
||||
if v.MakerTime != nil && v.MakerTime.IsZero() {
|
||||
reportByOrderData.MakerTime = nil
|
||||
} else {
|
||||
reportByOrderData.MakerTime = v.MakerTime
|
||||
}
|
||||
|
||||
if v.AuditTime != nil && v.AuditTime.IsZero() {
|
||||
reportByOrderData.AuditTime = nil
|
||||
} else {
|
||||
reportByOrderData.AuditTime = v.AuditTime
|
||||
}
|
||||
|
||||
reportByOrderData.CommodityData, nAmount, nCount, err = getOrderInventoryInfo(v.ID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -3230,7 +3355,7 @@ func getReportByCommodityFromCommodityOrCategory(req *ErpPurchaseReportByCommodi
|
|||
var totalPurchaseData PurchaseData
|
||||
var purchaseOrderDataList []ErpCommodityPurchaseOrderData
|
||||
for orderId := range orderIdSet {
|
||||
purchaseOrderData, err := getPurchaseOrderData(orderId)
|
||||
purchaseOrderData, err := getPurchaseOrderData(orderId, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -3288,11 +3413,27 @@ func getReportByCommodityFromCommodityOrCategory(req *ErpPurchaseReportByCommodi
|
|||
}
|
||||
|
||||
// 查询采购订单信息
|
||||
func getPurchaseOrderData(orderID uint32) (ErpCommodityPurchaseOrderData, error) {
|
||||
func getPurchaseOrderData(orderID uint32, req *ErpPurchaseReportByCommodityReq) (ErpCommodityPurchaseOrderData, error) {
|
||||
var purchaseOrderData ErpCommodityPurchaseOrderData
|
||||
// 查询采购订单信息
|
||||
var purchaseOrder ErpPurchaseOrder
|
||||
err := orm.Eloquent.Table("erp_purchase_order").Where("id = ?", orderID).Find(&purchaseOrder).Error
|
||||
qs := orm.Eloquent.Table("erp_purchase_order")
|
||||
|
||||
if len(req.ErpSupplierId) > 0 { // 供应商复选
|
||||
var supplierIDs []uint32
|
||||
for _, supplier := range req.ErpSupplierId {
|
||||
supplierIDs = append(supplierIDs, supplier)
|
||||
}
|
||||
qs = qs.Where("erp_supplier_id IN (?)", supplierIDs)
|
||||
}
|
||||
if len(req.StoreId) > 0 { // 门店复选
|
||||
var storeIDs []uint32
|
||||
for _, store := range req.StoreId {
|
||||
storeIDs = append(storeIDs, store)
|
||||
}
|
||||
qs = qs.Where("store_id IN (?)", storeIDs)
|
||||
}
|
||||
err := qs.Where("id = ?", orderID).Find(&purchaseOrder).Error
|
||||
if err != nil {
|
||||
return purchaseOrderData, err
|
||||
}
|
||||
|
@ -3304,6 +3445,7 @@ func getPurchaseOrderData(orderID uint32) (ErpCommodityPurchaseOrderData, error)
|
|||
}
|
||||
|
||||
// 组合数据
|
||||
purchaseOrderData.ErpPurchaseOrderId = purchaseOrder.ID
|
||||
purchaseOrderData.SerialNumber = purchaseOrder.SerialNumber
|
||||
purchaseOrderData.PurchaseType = purchaseOrder.PurchaseType
|
||||
purchaseOrderData.StoreId = purchaseOrder.StoreId
|
||||
|
@ -3312,13 +3454,24 @@ func getPurchaseOrderData(orderID uint32) (ErpCommodityPurchaseOrderData, error)
|
|||
purchaseOrderData.ErpSupplierName = purchaseOrder.ErpSupplierName
|
||||
purchaseOrderData.HandlerId = purchaseOrder.HandlerId
|
||||
purchaseOrderData.HandlerName = purchaseOrder.HandlerName
|
||||
purchaseOrderData.MakerTime = purchaseOrder.MakerTime
|
||||
//purchaseOrderData.MakerTime = purchaseOrder.MakerTime
|
||||
purchaseOrderData.MakerId = purchaseOrder.MakerId
|
||||
purchaseOrderData.MakerName = purchaseOrder.MakerName
|
||||
purchaseOrderData.AuditorId = purchaseOrder.AuditorId
|
||||
purchaseOrderData.AuditTime = purchaseOrder.AuditTime
|
||||
//purchaseOrderData.AuditTime = purchaseOrder.AuditTime
|
||||
purchaseOrderData.AuditorName = purchaseOrder.AuditorName
|
||||
|
||||
if purchaseOrder.MakerTime != nil && purchaseOrder.MakerTime.IsZero() {
|
||||
purchaseOrderData.MakerTime = nil
|
||||
} else {
|
||||
purchaseOrderData.MakerTime = purchaseOrder.MakerTime
|
||||
}
|
||||
if purchaseOrder.AuditTime != nil && purchaseOrder.AuditTime.IsZero() {
|
||||
purchaseOrderData.AuditTime = nil
|
||||
} else {
|
||||
purchaseOrderData.AuditTime = purchaseOrder.AuditTime
|
||||
}
|
||||
|
||||
purchaseOrderData.PlanCount = purchaseData.PlanCount
|
||||
purchaseOrderData.PlanPrice = purchaseData.PlanPrice
|
||||
purchaseOrderData.PlanAmount = purchaseData.PlanAmount
|
||||
|
@ -3384,11 +3537,19 @@ func getReportByCommodityFromCommon(req *ErpPurchaseReportByCommodityReq) (*ErpP
|
|||
if req.PurchaseType != "" { // 采购类型
|
||||
qs = qs.Where("purchase_type=?", req.PurchaseType)
|
||||
}
|
||||
if req.StoreId != 0 { // 门店id
|
||||
qs = qs.Where("store_id=?", req.StoreId)
|
||||
if len(req.ErpSupplierId) > 0 { // 供应商复选
|
||||
var supplierIDs []uint32
|
||||
for _, supplier := range req.ErpSupplierId {
|
||||
supplierIDs = append(supplierIDs, supplier)
|
||||
}
|
||||
qs = qs.Where("erp_supplier_id IN (?)", supplierIDs)
|
||||
}
|
||||
if req.ErpSupplierId != 0 { // 供应商id
|
||||
qs = qs.Where("erp_supplier_id=?", req.ErpSupplierId)
|
||||
if len(req.StoreId) > 0 { // 门店复选
|
||||
var storeIDs []uint32
|
||||
for _, store := range req.StoreId {
|
||||
storeIDs = append(storeIDs, store)
|
||||
}
|
||||
qs = qs.Where("store_id IN (?)", storeIDs)
|
||||
}
|
||||
if req.HandlerId != 0 { // 经手人id
|
||||
qs = qs.Where("handler_id=?", req.HandlerId)
|
||||
|
@ -3495,20 +3656,21 @@ func getReportByCommodityFromCommon(req *ErpPurchaseReportByCommodityReq) (*ErpP
|
|||
|
||||
purchaseOrderData := ErpCommodityPurchaseOrderData{
|
||||
CommonData{
|
||||
SerialNumber: v.SerialNumber,
|
||||
PurchaseType: v.PurchaseType,
|
||||
StoreId: v.StoreId,
|
||||
StoreName: v.StoreName,
|
||||
ErpSupplierId: v.ErpSupplierId,
|
||||
ErpSupplierName: v.ErpSupplierName,
|
||||
HandlerId: v.HandlerId,
|
||||
HandlerName: v.HandlerName,
|
||||
MakerTime: v.MakerTime,
|
||||
MakerId: v.MakerId,
|
||||
MakerName: v.MakerName,
|
||||
AuditorId: v.AuditorId,
|
||||
AuditTime: v.AuditTime,
|
||||
AuditorName: v.AuditorName,
|
||||
ErpPurchaseOrderId: v.ErpPurchaseOrderId,
|
||||
SerialNumber: v.SerialNumber,
|
||||
PurchaseType: v.PurchaseType,
|
||||
StoreId: v.StoreId,
|
||||
StoreName: v.StoreName,
|
||||
ErpSupplierId: v.ErpSupplierId,
|
||||
ErpSupplierName: v.ErpSupplierName,
|
||||
HandlerId: v.HandlerId,
|
||||
HandlerName: v.HandlerName,
|
||||
//MakerTime: v.MakerTime,
|
||||
MakerId: v.MakerId,
|
||||
MakerName: v.MakerName,
|
||||
AuditorId: v.AuditorId,
|
||||
//AuditTime: v.AuditTime,
|
||||
AuditorName: v.AuditorName,
|
||||
},
|
||||
PurchaseData{
|
||||
PlanCount: v.PlanCount,
|
||||
|
@ -3521,6 +3683,19 @@ func getReportByCommodityFromCommon(req *ErpPurchaseReportByCommodityReq) (*ErpP
|
|||
NonExecutionCount: v.NonExecutionCount,
|
||||
},
|
||||
}
|
||||
|
||||
if v.MakerTime != nil && v.MakerTime.IsZero() {
|
||||
purchaseOrderData.MakerTime = nil
|
||||
} else {
|
||||
purchaseOrderData.MakerTime = v.MakerTime
|
||||
}
|
||||
|
||||
if v.AuditTime != nil && v.AuditTime.IsZero() {
|
||||
purchaseOrderData.AuditTime = nil
|
||||
} else {
|
||||
purchaseOrderData.AuditTime = v.AuditTime
|
||||
}
|
||||
|
||||
reportData.OrderInfo = append(reportData.OrderInfo, purchaseOrderData)
|
||||
}
|
||||
|
||||
|
@ -3596,6 +3771,7 @@ func getPurchaseOrderAndCommodityData(orderID, commodityId uint32) (ErpCommodity
|
|||
}
|
||||
|
||||
// 组合数据
|
||||
purchaseOrderData.ErpPurchaseOrderId = purchaseOrder.ID
|
||||
purchaseOrderData.SerialNumber = purchaseOrder.SerialNumber
|
||||
purchaseOrderData.PurchaseType = purchaseOrder.PurchaseType
|
||||
purchaseOrderData.StoreId = purchaseOrder.StoreId
|
||||
|
@ -3604,13 +3780,24 @@ func getPurchaseOrderAndCommodityData(orderID, commodityId uint32) (ErpCommodity
|
|||
purchaseOrderData.ErpSupplierName = purchaseOrder.ErpSupplierName
|
||||
purchaseOrderData.HandlerId = purchaseOrder.HandlerId
|
||||
purchaseOrderData.HandlerName = purchaseOrder.HandlerName
|
||||
purchaseOrderData.MakerTime = purchaseOrder.MakerTime
|
||||
purchaseOrderData.MakerId = purchaseOrder.MakerId
|
||||
purchaseOrderData.MakerName = purchaseOrder.MakerName
|
||||
purchaseOrderData.AuditorId = purchaseOrder.AuditorId
|
||||
purchaseOrderData.AuditTime = purchaseOrder.AuditTime
|
||||
purchaseOrderData.AuditorName = purchaseOrder.AuditorName
|
||||
|
||||
if purchaseOrder.MakerTime != nil && purchaseOrder.MakerTime.IsZero() {
|
||||
purchaseOrderData.MakerTime = nil
|
||||
} else {
|
||||
purchaseOrderData.MakerTime = purchaseOrder.MakerTime
|
||||
}
|
||||
|
||||
if purchaseOrder.AuditTime != nil && purchaseOrder.AuditTime.IsZero() {
|
||||
purchaseOrderData.AuditTime = nil
|
||||
} else {
|
||||
purchaseOrderData.AuditTime = purchaseOrder.AuditTime
|
||||
}
|
||||
|
||||
purchaseOrderData.PlanCount = purchaseData.PlanCount
|
||||
purchaseOrderData.PlanPrice = purchaseData.PlanPrice
|
||||
purchaseOrderData.PlanAmount = purchaseData.PlanAmount
|
||||
|
@ -3982,7 +4169,7 @@ func GetReportBySupplier(req *ErpPurchaseReportBySupplierReq) (*ErpPurchaseRepor
|
|||
if req.PurchaseType != "" {
|
||||
query = query.Where("erp_purchase_inventory.purchase_type = ?", req.PurchaseType)
|
||||
}
|
||||
if len(req.ErpCommodityName) != 0 {
|
||||
if len(req.ErpCommodityName) > 0 {
|
||||
var commodityNameList []string
|
||||
for _, commodityName := range req.ErpCommodityName {
|
||||
commodityNameList = append(commodityNameList, commodityName)
|
||||
|
@ -3990,7 +4177,7 @@ func GetReportBySupplier(req *ErpPurchaseReportBySupplierReq) (*ErpPurchaseRepor
|
|||
query = query.Where("erp_purchase_inventory.erp_commodity_name IN (?)", commodityNameList)
|
||||
}
|
||||
|
||||
if len(req.ErpCategoryID) != 0 {
|
||||
if len(req.ErpCategoryID) > 0 {
|
||||
var erpCategoryIDs []uint32
|
||||
for _, categoryID := range req.ErpCategoryID {
|
||||
erpCategoryIDs = append(erpCategoryIDs, categoryID)
|
||||
|
@ -3998,7 +4185,7 @@ func GetReportBySupplier(req *ErpPurchaseReportBySupplierReq) (*ErpPurchaseRepor
|
|||
query = query.Where("erp_purchase_inventory.erp_category_id IN (?)", erpCategoryIDs)
|
||||
}
|
||||
|
||||
if len(req.ErpSupplierId) != 0 {
|
||||
if len(req.ErpSupplierId) > 0 {
|
||||
var supplierIDs []uint32
|
||||
for _, supplier := range req.ErpSupplierId {
|
||||
supplierIDs = append(supplierIDs, supplier)
|
||||
|
@ -4038,10 +4225,14 @@ func GetReportBySupplier(req *ErpPurchaseReportBySupplierReq) (*ErpPurchaseRepor
|
|||
resp.Total = int(total)
|
||||
|
||||
// 分页查询
|
||||
var err error
|
||||
if req.IsExport == 1 { // 导出excel
|
||||
query.Find(&resp.List)
|
||||
err = query.Find(&resp.List).Error
|
||||
} else {
|
||||
query.Offset((req.PageIndex - 1) * req.PageSize).Limit(req.PageSize).Find(&resp.List)
|
||||
err = query.Offset((req.PageIndex - 1) * req.PageSize).Limit(req.PageSize).Find(&resp.List).Error
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 补充关联的供应商和店铺信息
|
||||
|
@ -4187,28 +4378,30 @@ func GetReportDetail(req *ErpPurchaseReportDetailReq) (*ErpPurchaseReportDetailR
|
|||
PageIndex: page + 1,
|
||||
PageSize: req.PageSize,
|
||||
List: make([]struct {
|
||||
OrderSerialNumber string `json:"order_serial_number"`
|
||||
PurchaseType string `json:"purchase_type"`
|
||||
ExecuteTime *time.Time `json:"execute_time"`
|
||||
StoreId uint32 `json:"store_id"`
|
||||
StoreName string `json:"store_name"`
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"`
|
||||
ErpSupplierName string `json:"erp_supplier_name"`
|
||||
ErpCommodityId uint32 `json:"erp_commodity_id"`
|
||||
ErpCommodityName string `json:"erp_commodity_name"`
|
||||
ErpCategoryID uint32 `json:"erp_category_id"`
|
||||
ErpCategoryName string `json:"erp_category_name"`
|
||||
IMEIType uint32 `json:"imei_type"`
|
||||
IMEI string `json:"imei"`
|
||||
Price float64 `json:"price"`
|
||||
EmployeePrice float64 `json:"employee_price"`
|
||||
RejectPrice float64 `json:"reject_price"`
|
||||
DifferencePrice float64 `json:"difference_price"`
|
||||
ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id"` // 采购订单id
|
||||
OrderSerialNumber string `json:"order_serial_number"`
|
||||
PurchaseType string `json:"purchase_type"`
|
||||
ExecuteTime *time.Time `json:"execute_time"`
|
||||
StoreId uint32 `json:"store_id"`
|
||||
StoreName string `json:"store_name"`
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"`
|
||||
ErpSupplierName string `json:"erp_supplier_name"`
|
||||
ErpCommodityId uint32 `json:"erp_commodity_id"`
|
||||
ErpCommodityName string `json:"erp_commodity_name"`
|
||||
ErpCategoryID uint32 `json:"erp_category_id"`
|
||||
ErpCategoryName string `json:"erp_category_name"`
|
||||
IMEIType uint32 `json:"imei_type"`
|
||||
IMEI string `json:"imei"`
|
||||
Price float64 `json:"price"`
|
||||
EmployeePrice float64 `json:"employee_price"`
|
||||
RejectPrice float64 `json:"reject_price"`
|
||||
DifferencePrice float64 `json:"difference_price"`
|
||||
}, 0),
|
||||
}
|
||||
|
||||
qs := orm.Eloquent.Debug().Table("erp_purchase_order").
|
||||
Select("erp_purchase_order.serial_number as order_serial_number, "+
|
||||
Select("erp_purchase_order.id as erp_purchase_order_id, "+
|
||||
"erp_purchase_order.serial_number as order_serial_number, "+
|
||||
"erp_purchase_order.purchase_type, "+
|
||||
"erp_purchase_inventory.created_at as execute_time, "+
|
||||
"erp_purchase_order.store_id, "+
|
||||
|
@ -4229,26 +4422,35 @@ func GetReportDetail(req *ErpPurchaseReportDetailReq) (*ErpPurchaseReportDetailR
|
|||
"WHEN erp_purchase_order.purchase_type = 'procure' THEN 0 "+
|
||||
"WHEN erp_purchase_order.purchase_type = 'reject' THEN erp_purchase_inventory.implementation_price "+
|
||||
"ELSE 0 END AS reject_price, "+
|
||||
"erp_purchase_inventory.implementation_price as price, "+
|
||||
"erp_purchase_inventory.employee_price, "+
|
||||
"(erp_purchase_inventory.implementation_price - erp_purchase_inventory.employee_price) as difference_price").
|
||||
Joins("JOIN erp_purchase_inventory ON erp_purchase_order.id = erp_purchase_inventory.erp_purchase_order_id").
|
||||
Where("erp_purchase_order.state <> ?", 5) // 排除已终止的订单
|
||||
|
||||
// 创建一个新的查询对象,用于 count 查询
|
||||
countQuery := orm.Eloquent.Debug().Table("erp_purchase_order").
|
||||
Joins("JOIN erp_purchase_inventory ON erp_purchase_order.id = erp_purchase_inventory.erp_purchase_order_id").
|
||||
Where("erp_purchase_order.state <> ?", 5) // 排除已终止的订单
|
||||
|
||||
if req.SerialNumber != "" {
|
||||
qs = qs.Where("erp_purchase_order.serial_number = ?", req.SerialNumber)
|
||||
countQuery = countQuery.Where("erp_purchase_order.serial_number = ?", req.SerialNumber)
|
||||
}
|
||||
if req.PurchaseType != "" {
|
||||
qs = qs.Where("erp_purchase_order.purchase_type = ?", req.PurchaseType)
|
||||
countQuery = countQuery.Where("erp_purchase_order.purchase_type = ?", req.PurchaseType)
|
||||
}
|
||||
if req.ErpCommodityName != "" {
|
||||
qs = qs.Where("erp_purchase_inventory.erp_commodity_name LIKE ?", "%"+req.ErpCommodityName+"%")
|
||||
countQuery = countQuery.Where("erp_purchase_inventory.erp_commodity_name LIKE ?", "%"+req.ErpCommodityName+"%")
|
||||
}
|
||||
if req.ErpCategoryID != 0 {
|
||||
qs = qs.Where("erp_purchase_inventory.erp_category_id = ?", req.ErpCategoryID)
|
||||
countQuery = countQuery.Where("erp_purchase_inventory.erp_category_id = ?", req.ErpCategoryID)
|
||||
}
|
||||
if req.ErpSupplierId != 0 {
|
||||
qs = qs.Where("erp_purchase_order.erp_supplier_id = ?", req.ErpSupplierId)
|
||||
countQuery = countQuery.Where("erp_purchase_order.erp_supplier_id = ?", req.ErpSupplierId)
|
||||
}
|
||||
if req.StartTime != "" { // 入/出库开始时间
|
||||
parse, err := time.Parse(QueryTimeFormat, req.StartTime)
|
||||
|
@ -4257,6 +4459,7 @@ func GetReportDetail(req *ErpPurchaseReportDetailReq) (*ErpPurchaseReportDetailR
|
|||
return nil, err
|
||||
}
|
||||
qs = qs.Where("erp_purchase_inventory.created_at >= ?", parse)
|
||||
countQuery = countQuery.Where("erp_purchase_inventory.created_at >= ?", parse)
|
||||
}
|
||||
if req.EndTime != "" { // 入/出库结束时间
|
||||
parse, err := time.Parse(QueryTimeFormat, req.EndTime)
|
||||
|
@ -4265,19 +4468,27 @@ func GetReportDetail(req *ErpPurchaseReportDetailReq) (*ErpPurchaseReportDetailR
|
|||
return nil, err
|
||||
}
|
||||
qs = qs.Where("erp_purchase_inventory.created_at <= ?", parse)
|
||||
countQuery = countQuery.Where("erp_purchase_inventory.created_at <= ?", parse)
|
||||
}
|
||||
|
||||
if len(req.StoreList) > 0 {
|
||||
if len(req.StoreId) > 0 {
|
||||
var storeIDs []uint32
|
||||
for _, store := range req.StoreList {
|
||||
storeIDs = append(storeIDs, store.StoreID)
|
||||
for _, store := range req.StoreId {
|
||||
storeIDs = append(storeIDs, store)
|
||||
}
|
||||
qs = qs.Where("erp_purchase_order.store_id IN (?)", storeIDs)
|
||||
countQuery = countQuery.Where("erp_purchase_order.store_id IN (?)", storeIDs)
|
||||
}
|
||||
|
||||
var count int64
|
||||
err := countQuery.Count(&count).Error
|
||||
if err != nil {
|
||||
logger.Errorf("GetReportDetail count err:", err)
|
||||
return nil, err
|
||||
}
|
||||
es := qs
|
||||
|
||||
offset := (req.PageIndex - 1) * req.PageSize
|
||||
err := qs.Order("erp_purchase_inventory.created_at desc").
|
||||
err = qs.Order("erp_purchase_inventory.created_at desc").
|
||||
Offset(offset).
|
||||
Limit(req.PageSize).
|
||||
Scan(&resp.List).Error
|
||||
|
@ -4295,13 +4506,6 @@ func GetReportDetail(req *ErpPurchaseReportDetailReq) (*ErpPurchaseReportDetailR
|
|||
}
|
||||
}
|
||||
|
||||
var count int64
|
||||
err = es.Count(&count).Error
|
||||
if err != nil {
|
||||
logger.Errorf("GetReportDetail count err:", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
resp.Total = int(count)
|
||||
resp.Price, resp.EmployeePrice, resp.RejectPrice, resp.DifferencePrice = calculatePrices(resp.List)
|
||||
|
||||
|
@ -4319,23 +4523,24 @@ func GetReportDetail(req *ErpPurchaseReportDetailReq) (*ErpPurchaseReportDetailR
|
|||
|
||||
// 计算价格信息
|
||||
func calculatePrices(list []struct {
|
||||
OrderSerialNumber string `json:"order_serial_number"`
|
||||
PurchaseType string `json:"purchase_type"`
|
||||
ExecuteTime *time.Time `json:"execute_time"`
|
||||
StoreId uint32 `json:"store_id"`
|
||||
StoreName string `json:"store_name"`
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"`
|
||||
ErpSupplierName string `json:"erp_supplier_name"`
|
||||
ErpCommodityId uint32 `json:"erp_commodity_id"`
|
||||
ErpCommodityName string `json:"erp_commodity_name"`
|
||||
ErpCategoryID uint32 `json:"erp_category_id"`
|
||||
ErpCategoryName string `json:"erp_category_name"`
|
||||
IMEIType uint32 `json:"imei_type"`
|
||||
IMEI string `json:"imei"`
|
||||
Price float64 `json:"price"`
|
||||
EmployeePrice float64 `json:"employee_price"`
|
||||
RejectPrice float64 `json:"reject_price"`
|
||||
DifferencePrice float64 `json:"difference_price"`
|
||||
ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id"` // 采购订单id
|
||||
OrderSerialNumber string `json:"order_serial_number"`
|
||||
PurchaseType string `json:"purchase_type"`
|
||||
ExecuteTime *time.Time `json:"execute_time"`
|
||||
StoreId uint32 `json:"store_id"`
|
||||
StoreName string `json:"store_name"`
|
||||
ErpSupplierId uint32 `json:"erp_supplier_id"`
|
||||
ErpSupplierName string `json:"erp_supplier_name"`
|
||||
ErpCommodityId uint32 `json:"erp_commodity_id"`
|
||||
ErpCommodityName string `json:"erp_commodity_name"`
|
||||
ErpCategoryID uint32 `json:"erp_category_id"`
|
||||
ErpCategoryName string `json:"erp_category_name"`
|
||||
IMEIType uint32 `json:"imei_type"`
|
||||
IMEI string `json:"imei"`
|
||||
Price float64 `json:"price"`
|
||||
EmployeePrice float64 `json:"employee_price"`
|
||||
RejectPrice float64 `json:"reject_price"`
|
||||
DifferencePrice float64 `json:"difference_price"`
|
||||
}) (price, employeePrice, rejectPrice, differencePrice float64) {
|
||||
for _, item := range list {
|
||||
price += item.Price
|
||||
|
|
171
docs/docs.go
171
docs/docs.go
|
@ -2433,7 +2433,7 @@ const docTemplate = `{
|
|||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.ErpPurchaseInventoryReq"
|
||||
"$ref": "#/definitions/models.ErpPurchaseExecuteReq"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -6707,6 +6707,10 @@ const docTemplate = `{
|
|||
"description": "已执行数量",
|
||||
"type": "integer"
|
||||
},
|
||||
"erp_purchase_order_id": {
|
||||
"description": "采购订单id",
|
||||
"type": "integer"
|
||||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
|
@ -7082,8 +7086,12 @@ const docTemplate = `{
|
|||
"description": "退货单价",
|
||||
"type": "number"
|
||||
},
|
||||
"rejected_remark": {
|
||||
"description": "退货备注",
|
||||
"type": "string"
|
||||
},
|
||||
"remark": {
|
||||
"description": "备注",
|
||||
"description": "销售备注",
|
||||
"type": "string"
|
||||
},
|
||||
"retail_price": {
|
||||
|
@ -7855,33 +7863,26 @@ const docTemplate = `{
|
|||
"models.ErpPurchaseCreateReq": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"account_holder",
|
||||
"bank_account",
|
||||
"delivery_address",
|
||||
"delivery_time",
|
||||
"erp_cashier_id",
|
||||
"erp_purchase_commodity",
|
||||
"erp_supplier_id",
|
||||
"handler_id",
|
||||
"opening_bank",
|
||||
"purchase_type",
|
||||
"store_id"
|
||||
"purchase_type"
|
||||
],
|
||||
"properties": {
|
||||
"account_holder": {
|
||||
"description": "收款人",
|
||||
"description": "收款人:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"bank_account": {
|
||||
"description": "银行卡号",
|
||||
"description": "银行卡号:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"delivery_address": {
|
||||
"description": "交货地址",
|
||||
"description": "交货地址:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"delivery_time": {
|
||||
"description": "交货日期",
|
||||
"description": "交货日期:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"erp_cashier_id": {
|
||||
|
@ -7896,7 +7897,7 @@ const docTemplate = `{
|
|||
}
|
||||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"description": "供应商id:入库必传",
|
||||
"type": "integer"
|
||||
},
|
||||
"handler_id": {
|
||||
|
@ -7908,11 +7909,11 @@ const docTemplate = `{
|
|||
"type": "string"
|
||||
},
|
||||
"opening_bank": {
|
||||
"description": "开户行",
|
||||
"description": "开户行:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_order_sn": {
|
||||
"description": "采购退货订单号",
|
||||
"description": "采购退货订单号:出库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_type": {
|
||||
|
@ -7924,7 +7925,7 @@ const docTemplate = `{
|
|||
"type": "string"
|
||||
},
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"description": "门店id:入库必传",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
|
@ -7956,32 +7957,27 @@ const docTemplate = `{
|
|||
"models.ErpPurchaseEditReq": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"bank_account",
|
||||
"delivery_address",
|
||||
"delivery_time",
|
||||
"erp_cashier_id",
|
||||
"erp_purchase_commodity",
|
||||
"erp_purchase_order_id",
|
||||
"erp_supplier_id",
|
||||
"opening_bank",
|
||||
"purchase_type",
|
||||
"store_id"
|
||||
"handler_id",
|
||||
"purchase_type"
|
||||
],
|
||||
"properties": {
|
||||
"account_holder": {
|
||||
"description": "收款人",
|
||||
"description": "收款人:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"bank_account": {
|
||||
"description": "银行卡号",
|
||||
"description": "银行卡号:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"delivery_address": {
|
||||
"description": "交货地址",
|
||||
"description": "交货地址:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"delivery_time": {
|
||||
"description": "交货日期",
|
||||
"description": "交货日期:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"erp_cashier_id": {
|
||||
|
@ -8000,7 +7996,7 @@ const docTemplate = `{
|
|||
"type": "integer"
|
||||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"description": "供应商id:入库必传",
|
||||
"type": "integer"
|
||||
},
|
||||
"handler_id": {
|
||||
|
@ -8012,11 +8008,11 @@ const docTemplate = `{
|
|||
"type": "string"
|
||||
},
|
||||
"opening_bank": {
|
||||
"description": "开户行",
|
||||
"description": "开户行:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_order_sn": {
|
||||
"description": "采购退货订单号",
|
||||
"description": "采购退货订单号:出库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_type": {
|
||||
|
@ -8028,11 +8024,36 @@ const docTemplate = `{
|
|||
"type": "string"
|
||||
},
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"description": "门店id:入库必传",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"models.ErpPurchaseExecuteReq": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"erp_purchase_order_id",
|
||||
"inventories",
|
||||
"purchase_type"
|
||||
],
|
||||
"properties": {
|
||||
"erp_purchase_order_id": {
|
||||
"description": "采购订单id",
|
||||
"type": "integer"
|
||||
},
|
||||
"inventories": {
|
||||
"description": "采购入库执行信息",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/models.ErpPurchaseInventory"
|
||||
}
|
||||
},
|
||||
"purchase_type": {
|
||||
"description": "采购类型:procure-采购 reject-退货",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"models.ErpPurchaseExecuteResp": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -8114,6 +8135,14 @@ const docTemplate = `{
|
|||
"description": "执行单价",
|
||||
"type": "number"
|
||||
},
|
||||
"inventory_id": {
|
||||
"description": "最近入库人id",
|
||||
"type": "integer"
|
||||
},
|
||||
"inventory_name": {
|
||||
"description": "最近入库人名称",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_type": {
|
||||
"description": "采购类型:procure-采购 reject-退货",
|
||||
"type": "string"
|
||||
|
@ -8129,6 +8158,8 @@ const docTemplate = `{
|
|||
"required": [
|
||||
"erp_purchase_order_id",
|
||||
"inventories",
|
||||
"inventory_id",
|
||||
"inventory_name",
|
||||
"purchase_type"
|
||||
],
|
||||
"properties": {
|
||||
|
@ -8143,6 +8174,14 @@ const docTemplate = `{
|
|||
"$ref": "#/definitions/models.ErpPurchaseInventory"
|
||||
}
|
||||
},
|
||||
"inventory_id": {
|
||||
"description": "最近入库人id",
|
||||
"type": "integer"
|
||||
},
|
||||
"inventory_name": {
|
||||
"description": "最近入库人名称",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_type": {
|
||||
"description": "采购类型:procure-采购 reject-退货",
|
||||
"type": "string"
|
||||
|
@ -8218,6 +8257,14 @@ const docTemplate = `{
|
|||
"description": "数据库记录编号",
|
||||
"type": "integer"
|
||||
},
|
||||
"inventory_id": {
|
||||
"description": "最近入库人id",
|
||||
"type": "integer"
|
||||
},
|
||||
"inventory_name": {
|
||||
"description": "最近入库人名称",
|
||||
"type": "string"
|
||||
},
|
||||
"maker_id": {
|
||||
"description": "制单人id",
|
||||
"type": "integer"
|
||||
|
@ -8238,9 +8285,9 @@ const docTemplate = `{
|
|||
"description": "类型:procure-采购 reject-退货",
|
||||
"type": "string"
|
||||
},
|
||||
"rejected_purchase_order_id": {
|
||||
"description": "退货采购订单id",
|
||||
"type": "integer"
|
||||
"rejected_serial_number": {
|
||||
"description": "退货的采购订单单据编号",
|
||||
"type": "string"
|
||||
},
|
||||
"remark": {
|
||||
"description": "备注",
|
||||
|
@ -8251,7 +8298,7 @@ const docTemplate = `{
|
|||
"type": "string"
|
||||
},
|
||||
"state": {
|
||||
"description": "1-待审核 2-待入库 3-待退货 4-已完成 5-已终止",
|
||||
"description": "1-待审核 2-待入库 3-待退货 4-已完成 5-已终止 6-入库中 7-退货中",
|
||||
"type": "integer"
|
||||
},
|
||||
"store_id": {
|
||||
|
@ -8283,6 +8330,10 @@ const docTemplate = `{
|
|||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
},
|
||||
"handler_id": {
|
||||
"description": "经手人id",
|
||||
"type": "integer"
|
||||
},
|
||||
"pageIndex": {
|
||||
"description": "页码",
|
||||
"type": "integer"
|
||||
|
@ -8353,7 +8404,10 @@ const docTemplate = `{
|
|||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"handler_id": {
|
||||
"description": "经手人id",
|
||||
|
@ -8385,7 +8439,10 @@ const docTemplate = `{
|
|||
},
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"type": "integer"
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -8474,7 +8531,10 @@ const docTemplate = `{
|
|||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"handler_id": {
|
||||
"description": "经手人id",
|
||||
|
@ -8506,7 +8566,10 @@ const docTemplate = `{
|
|||
},
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"type": "integer"
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -8748,21 +8811,11 @@ const docTemplate = `{
|
|||
"description": "入/出库,开始时间",
|
||||
"type": "string"
|
||||
},
|
||||
"store_list": {
|
||||
"description": "门店复选",
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"type": "integer"
|
||||
},
|
||||
"store_name": {
|
||||
"description": "门店名称",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8812,6 +8865,10 @@ const docTemplate = `{
|
|||
"description": "商品名称",
|
||||
"type": "string"
|
||||
},
|
||||
"erp_purchase_order_id": {
|
||||
"description": "采购订单id",
|
||||
"type": "integer"
|
||||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
|
@ -9045,7 +9102,7 @@ const docTemplate = `{
|
|||
"type": "integer"
|
||||
},
|
||||
"original_sn": {
|
||||
"description": "首次入库订单编号",
|
||||
"description": "首次入库订单编号(单据编号)",
|
||||
"type": "string"
|
||||
},
|
||||
"remark": {
|
||||
|
@ -10797,6 +10854,10 @@ const docTemplate = `{
|
|||
"description": "已执行数量",
|
||||
"type": "integer"
|
||||
},
|
||||
"erp_purchase_order_id": {
|
||||
"description": "采购订单id",
|
||||
"type": "integer"
|
||||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
|
|
|
@ -2422,7 +2422,7 @@
|
|||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.ErpPurchaseInventoryReq"
|
||||
"$ref": "#/definitions/models.ErpPurchaseExecuteReq"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -6696,6 +6696,10 @@
|
|||
"description": "已执行数量",
|
||||
"type": "integer"
|
||||
},
|
||||
"erp_purchase_order_id": {
|
||||
"description": "采购订单id",
|
||||
"type": "integer"
|
||||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
|
@ -7071,8 +7075,12 @@
|
|||
"description": "退货单价",
|
||||
"type": "number"
|
||||
},
|
||||
"rejected_remark": {
|
||||
"description": "退货备注",
|
||||
"type": "string"
|
||||
},
|
||||
"remark": {
|
||||
"description": "备注",
|
||||
"description": "销售备注",
|
||||
"type": "string"
|
||||
},
|
||||
"retail_price": {
|
||||
|
@ -7844,33 +7852,26 @@
|
|||
"models.ErpPurchaseCreateReq": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"account_holder",
|
||||
"bank_account",
|
||||
"delivery_address",
|
||||
"delivery_time",
|
||||
"erp_cashier_id",
|
||||
"erp_purchase_commodity",
|
||||
"erp_supplier_id",
|
||||
"handler_id",
|
||||
"opening_bank",
|
||||
"purchase_type",
|
||||
"store_id"
|
||||
"purchase_type"
|
||||
],
|
||||
"properties": {
|
||||
"account_holder": {
|
||||
"description": "收款人",
|
||||
"description": "收款人:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"bank_account": {
|
||||
"description": "银行卡号",
|
||||
"description": "银行卡号:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"delivery_address": {
|
||||
"description": "交货地址",
|
||||
"description": "交货地址:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"delivery_time": {
|
||||
"description": "交货日期",
|
||||
"description": "交货日期:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"erp_cashier_id": {
|
||||
|
@ -7885,7 +7886,7 @@
|
|||
}
|
||||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"description": "供应商id:入库必传",
|
||||
"type": "integer"
|
||||
},
|
||||
"handler_id": {
|
||||
|
@ -7897,11 +7898,11 @@
|
|||
"type": "string"
|
||||
},
|
||||
"opening_bank": {
|
||||
"description": "开户行",
|
||||
"description": "开户行:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_order_sn": {
|
||||
"description": "采购退货订单号",
|
||||
"description": "采购退货订单号:出库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_type": {
|
||||
|
@ -7913,7 +7914,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"description": "门店id:入库必传",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
|
@ -7945,32 +7946,27 @@
|
|||
"models.ErpPurchaseEditReq": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"bank_account",
|
||||
"delivery_address",
|
||||
"delivery_time",
|
||||
"erp_cashier_id",
|
||||
"erp_purchase_commodity",
|
||||
"erp_purchase_order_id",
|
||||
"erp_supplier_id",
|
||||
"opening_bank",
|
||||
"purchase_type",
|
||||
"store_id"
|
||||
"handler_id",
|
||||
"purchase_type"
|
||||
],
|
||||
"properties": {
|
||||
"account_holder": {
|
||||
"description": "收款人",
|
||||
"description": "收款人:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"bank_account": {
|
||||
"description": "银行卡号",
|
||||
"description": "银行卡号:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"delivery_address": {
|
||||
"description": "交货地址",
|
||||
"description": "交货地址:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"delivery_time": {
|
||||
"description": "交货日期",
|
||||
"description": "交货日期:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"erp_cashier_id": {
|
||||
|
@ -7989,7 +7985,7 @@
|
|||
"type": "integer"
|
||||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"description": "供应商id:入库必传",
|
||||
"type": "integer"
|
||||
},
|
||||
"handler_id": {
|
||||
|
@ -8001,11 +7997,11 @@
|
|||
"type": "string"
|
||||
},
|
||||
"opening_bank": {
|
||||
"description": "开户行",
|
||||
"description": "开户行:入库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_order_sn": {
|
||||
"description": "采购退货订单号",
|
||||
"description": "采购退货订单号:出库必传",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_type": {
|
||||
|
@ -8017,11 +8013,36 @@
|
|||
"type": "string"
|
||||
},
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"description": "门店id:入库必传",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"models.ErpPurchaseExecuteReq": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"erp_purchase_order_id",
|
||||
"inventories",
|
||||
"purchase_type"
|
||||
],
|
||||
"properties": {
|
||||
"erp_purchase_order_id": {
|
||||
"description": "采购订单id",
|
||||
"type": "integer"
|
||||
},
|
||||
"inventories": {
|
||||
"description": "采购入库执行信息",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/models.ErpPurchaseInventory"
|
||||
}
|
||||
},
|
||||
"purchase_type": {
|
||||
"description": "采购类型:procure-采购 reject-退货",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"models.ErpPurchaseExecuteResp": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -8103,6 +8124,14 @@
|
|||
"description": "执行单价",
|
||||
"type": "number"
|
||||
},
|
||||
"inventory_id": {
|
||||
"description": "最近入库人id",
|
||||
"type": "integer"
|
||||
},
|
||||
"inventory_name": {
|
||||
"description": "最近入库人名称",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_type": {
|
||||
"description": "采购类型:procure-采购 reject-退货",
|
||||
"type": "string"
|
||||
|
@ -8118,6 +8147,8 @@
|
|||
"required": [
|
||||
"erp_purchase_order_id",
|
||||
"inventories",
|
||||
"inventory_id",
|
||||
"inventory_name",
|
||||
"purchase_type"
|
||||
],
|
||||
"properties": {
|
||||
|
@ -8132,6 +8163,14 @@
|
|||
"$ref": "#/definitions/models.ErpPurchaseInventory"
|
||||
}
|
||||
},
|
||||
"inventory_id": {
|
||||
"description": "最近入库人id",
|
||||
"type": "integer"
|
||||
},
|
||||
"inventory_name": {
|
||||
"description": "最近入库人名称",
|
||||
"type": "string"
|
||||
},
|
||||
"purchase_type": {
|
||||
"description": "采购类型:procure-采购 reject-退货",
|
||||
"type": "string"
|
||||
|
@ -8207,6 +8246,14 @@
|
|||
"description": "数据库记录编号",
|
||||
"type": "integer"
|
||||
},
|
||||
"inventory_id": {
|
||||
"description": "最近入库人id",
|
||||
"type": "integer"
|
||||
},
|
||||
"inventory_name": {
|
||||
"description": "最近入库人名称",
|
||||
"type": "string"
|
||||
},
|
||||
"maker_id": {
|
||||
"description": "制单人id",
|
||||
"type": "integer"
|
||||
|
@ -8227,9 +8274,9 @@
|
|||
"description": "类型:procure-采购 reject-退货",
|
||||
"type": "string"
|
||||
},
|
||||
"rejected_purchase_order_id": {
|
||||
"description": "退货采购订单id",
|
||||
"type": "integer"
|
||||
"rejected_serial_number": {
|
||||
"description": "退货的采购订单单据编号",
|
||||
"type": "string"
|
||||
},
|
||||
"remark": {
|
||||
"description": "备注",
|
||||
|
@ -8240,7 +8287,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"state": {
|
||||
"description": "1-待审核 2-待入库 3-待退货 4-已完成 5-已终止",
|
||||
"description": "1-待审核 2-待入库 3-待退货 4-已完成 5-已终止 6-入库中 7-退货中",
|
||||
"type": "integer"
|
||||
},
|
||||
"store_id": {
|
||||
|
@ -8272,6 +8319,10 @@
|
|||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
},
|
||||
"handler_id": {
|
||||
"description": "经手人id",
|
||||
"type": "integer"
|
||||
},
|
||||
"pageIndex": {
|
||||
"description": "页码",
|
||||
"type": "integer"
|
||||
|
@ -8342,7 +8393,10 @@
|
|||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"handler_id": {
|
||||
"description": "经手人id",
|
||||
|
@ -8374,7 +8428,10 @@
|
|||
},
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"type": "integer"
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -8463,7 +8520,10 @@
|
|||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"handler_id": {
|
||||
"description": "经手人id",
|
||||
|
@ -8495,7 +8555,10 @@
|
|||
},
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"type": "integer"
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -8737,21 +8800,11 @@
|
|||
"description": "入/出库,开始时间",
|
||||
"type": "string"
|
||||
},
|
||||
"store_list": {
|
||||
"description": "门店复选",
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"store_id": {
|
||||
"description": "门店id",
|
||||
"type": "integer"
|
||||
},
|
||||
"store_name": {
|
||||
"description": "门店名称",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8801,6 +8854,10 @@
|
|||
"description": "商品名称",
|
||||
"type": "string"
|
||||
},
|
||||
"erp_purchase_order_id": {
|
||||
"description": "采购订单id",
|
||||
"type": "integer"
|
||||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
|
@ -9034,7 +9091,7 @@
|
|||
"type": "integer"
|
||||
},
|
||||
"original_sn": {
|
||||
"description": "首次入库订单编号",
|
||||
"description": "首次入库订单编号(单据编号)",
|
||||
"type": "string"
|
||||
},
|
||||
"remark": {
|
||||
|
@ -10786,6 +10843,10 @@
|
|||
"description": "已执行数量",
|
||||
"type": "integer"
|
||||
},
|
||||
"erp_purchase_order_id": {
|
||||
"description": "采购订单id",
|
||||
"type": "integer"
|
||||
},
|
||||
"erp_supplier_id": {
|
||||
"description": "供应商id",
|
||||
"type": "integer"
|
||||
|
|
|
@ -1267,6 +1267,9 @@ definitions:
|
|||
count:
|
||||
description: 已执行数量
|
||||
type: integer
|
||||
erp_purchase_order_id:
|
||||
description: 采购订单id
|
||||
type: integer
|
||||
erp_supplier_id:
|
||||
description: 供应商id
|
||||
type: integer
|
||||
|
@ -1544,8 +1547,11 @@ definitions:
|
|||
rejected_price:
|
||||
description: 退货单价
|
||||
type: number
|
||||
rejected_remark:
|
||||
description: 退货备注
|
||||
type: string
|
||||
remark:
|
||||
description: 备注
|
||||
description: 销售备注
|
||||
type: string
|
||||
retail_price:
|
||||
description: 指导零售价
|
||||
|
@ -2105,16 +2111,16 @@ definitions:
|
|||
models.ErpPurchaseCreateReq:
|
||||
properties:
|
||||
account_holder:
|
||||
description: 收款人
|
||||
description: 收款人:入库必传
|
||||
type: string
|
||||
bank_account:
|
||||
description: 银行卡号
|
||||
description: 银行卡号:入库必传
|
||||
type: string
|
||||
delivery_address:
|
||||
description: 交货地址
|
||||
description: 交货地址:入库必传
|
||||
type: string
|
||||
delivery_time:
|
||||
description: 交货日期
|
||||
description: 交货日期:入库必传
|
||||
type: string
|
||||
erp_cashier_id:
|
||||
description: 付款方式
|
||||
|
@ -2125,7 +2131,7 @@ definitions:
|
|||
$ref: '#/definitions/models.ErpPurchaseCommodity'
|
||||
type: array
|
||||
erp_supplier_id:
|
||||
description: 供应商id
|
||||
description: 供应商id:入库必传
|
||||
type: integer
|
||||
handler_id:
|
||||
description: 经手人id
|
||||
|
@ -2134,10 +2140,10 @@ definitions:
|
|||
description: 经手人名称
|
||||
type: string
|
||||
opening_bank:
|
||||
description: 开户行
|
||||
description: 开户行:入库必传
|
||||
type: string
|
||||
purchase_order_sn:
|
||||
description: 采购退货订单号
|
||||
description: 采购退货订单号:出库必传
|
||||
type: string
|
||||
purchase_type:
|
||||
description: 采购类型:procure-采购 reject-退货
|
||||
|
@ -2146,20 +2152,13 @@ definitions:
|
|||
description: 备注
|
||||
type: string
|
||||
store_id:
|
||||
description: 门店id
|
||||
description: 门店id:入库必传
|
||||
type: integer
|
||||
required:
|
||||
- account_holder
|
||||
- bank_account
|
||||
- delivery_address
|
||||
- delivery_time
|
||||
- erp_cashier_id
|
||||
- erp_purchase_commodity
|
||||
- erp_supplier_id
|
||||
- handler_id
|
||||
- opening_bank
|
||||
- purchase_type
|
||||
- store_id
|
||||
type: object
|
||||
models.ErpPurchaseDeleteReq:
|
||||
properties:
|
||||
|
@ -2180,16 +2179,16 @@ definitions:
|
|||
models.ErpPurchaseEditReq:
|
||||
properties:
|
||||
account_holder:
|
||||
description: 收款人
|
||||
description: 收款人:入库必传
|
||||
type: string
|
||||
bank_account:
|
||||
description: 银行卡号
|
||||
description: 银行卡号:入库必传
|
||||
type: string
|
||||
delivery_address:
|
||||
description: 交货地址
|
||||
description: 交货地址:入库必传
|
||||
type: string
|
||||
delivery_time:
|
||||
description: 交货日期
|
||||
description: 交货日期:入库必传
|
||||
type: string
|
||||
erp_cashier_id:
|
||||
description: 付款方式
|
||||
|
@ -2203,7 +2202,7 @@ definitions:
|
|||
description: 采购订单id
|
||||
type: integer
|
||||
erp_supplier_id:
|
||||
description: 供应商id
|
||||
description: 供应商id:入库必传
|
||||
type: integer
|
||||
handler_id:
|
||||
description: 经手人id
|
||||
|
@ -2212,10 +2211,10 @@ definitions:
|
|||
description: 经手人名称
|
||||
type: string
|
||||
opening_bank:
|
||||
description: 开户行
|
||||
description: 开户行:入库必传
|
||||
type: string
|
||||
purchase_order_sn:
|
||||
description: 采购退货订单号
|
||||
description: 采购退货订单号:出库必传
|
||||
type: string
|
||||
purchase_type:
|
||||
description: 采购类型:procure-采购 reject-退货
|
||||
|
@ -2224,19 +2223,32 @@ definitions:
|
|||
description: 备注
|
||||
type: string
|
||||
store_id:
|
||||
description: 门店id
|
||||
description: 门店id:入库必传
|
||||
type: integer
|
||||
required:
|
||||
- bank_account
|
||||
- delivery_address
|
||||
- delivery_time
|
||||
- erp_cashier_id
|
||||
- erp_purchase_commodity
|
||||
- erp_purchase_order_id
|
||||
- erp_supplier_id
|
||||
- opening_bank
|
||||
- handler_id
|
||||
- purchase_type
|
||||
type: object
|
||||
models.ErpPurchaseExecuteReq:
|
||||
properties:
|
||||
erp_purchase_order_id:
|
||||
description: 采购订单id
|
||||
type: integer
|
||||
inventories:
|
||||
description: 采购入库执行信息
|
||||
items:
|
||||
$ref: '#/definitions/models.ErpPurchaseInventory'
|
||||
type: array
|
||||
purchase_type:
|
||||
description: 采购类型:procure-采购 reject-退货
|
||||
type: string
|
||||
required:
|
||||
- erp_purchase_order_id
|
||||
- inventories
|
||||
- purchase_type
|
||||
- store_id
|
||||
type: object
|
||||
models.ErpPurchaseExecuteResp:
|
||||
properties:
|
||||
|
@ -2295,6 +2307,12 @@ definitions:
|
|||
implementation_price:
|
||||
description: 执行单价
|
||||
type: number
|
||||
inventory_id:
|
||||
description: 最近入库人id
|
||||
type: integer
|
||||
inventory_name:
|
||||
description: 最近入库人名称
|
||||
type: string
|
||||
purchase_type:
|
||||
description: 采购类型:procure-采购 reject-退货
|
||||
type: string
|
||||
|
@ -2314,12 +2332,20 @@ definitions:
|
|||
items:
|
||||
$ref: '#/definitions/models.ErpPurchaseInventory'
|
||||
type: array
|
||||
inventory_id:
|
||||
description: 最近入库人id
|
||||
type: integer
|
||||
inventory_name:
|
||||
description: 最近入库人名称
|
||||
type: string
|
||||
purchase_type:
|
||||
description: 采购类型:procure-采购 reject-退货
|
||||
type: string
|
||||
required:
|
||||
- erp_purchase_order_id
|
||||
- inventories
|
||||
- inventory_id
|
||||
- inventory_name
|
||||
- purchase_type
|
||||
type: object
|
||||
models.ErpPurchaseOrder:
|
||||
|
@ -2373,6 +2399,12 @@ definitions:
|
|||
id:
|
||||
description: 数据库记录编号
|
||||
type: integer
|
||||
inventory_id:
|
||||
description: 最近入库人id
|
||||
type: integer
|
||||
inventory_name:
|
||||
description: 最近入库人名称
|
||||
type: string
|
||||
maker_id:
|
||||
description: 制单人id
|
||||
type: integer
|
||||
|
@ -2388,9 +2420,9 @@ definitions:
|
|||
purchase_type:
|
||||
description: 类型:procure-采购 reject-退货
|
||||
type: string
|
||||
rejected_purchase_order_id:
|
||||
description: 退货采购订单id
|
||||
type: integer
|
||||
rejected_serial_number:
|
||||
description: 退货的采购订单单据编号
|
||||
type: string
|
||||
remark:
|
||||
description: 备注
|
||||
type: string
|
||||
|
@ -2398,7 +2430,7 @@ definitions:
|
|||
description: 单据编号
|
||||
type: string
|
||||
state:
|
||||
description: 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止
|
||||
description: 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止 6-入库中 7-退货中
|
||||
type: integer
|
||||
store_id:
|
||||
description: 门店id
|
||||
|
@ -2421,6 +2453,9 @@ definitions:
|
|||
erp_supplier_id:
|
||||
description: 供应商id
|
||||
type: integer
|
||||
handler_id:
|
||||
description: 经手人id
|
||||
type: integer
|
||||
pageIndex:
|
||||
description: 页码
|
||||
type: integer
|
||||
|
@ -2472,7 +2507,9 @@ definitions:
|
|||
type: string
|
||||
erp_supplier_id:
|
||||
description: 供应商id
|
||||
type: integer
|
||||
items:
|
||||
type: integer
|
||||
type: array
|
||||
handler_id:
|
||||
description: 经手人id
|
||||
type: integer
|
||||
|
@ -2496,7 +2533,9 @@ definitions:
|
|||
type: integer
|
||||
store_id:
|
||||
description: 门店id
|
||||
type: integer
|
||||
items:
|
||||
type: integer
|
||||
type: array
|
||||
type: object
|
||||
models.ErpPurchaseReportByCommodityResp:
|
||||
properties:
|
||||
|
@ -2561,7 +2600,9 @@ definitions:
|
|||
type: string
|
||||
erp_supplier_id:
|
||||
description: 供应商id
|
||||
type: integer
|
||||
items:
|
||||
type: integer
|
||||
type: array
|
||||
handler_id:
|
||||
description: 经手人id
|
||||
type: integer
|
||||
|
@ -2585,7 +2626,9 @@ definitions:
|
|||
type: integer
|
||||
store_id:
|
||||
description: 门店id
|
||||
type: integer
|
||||
items:
|
||||
type: integer
|
||||
type: array
|
||||
type: object
|
||||
models.ErpPurchaseReportByOrderResp:
|
||||
properties:
|
||||
|
@ -2761,17 +2804,10 @@ definitions:
|
|||
startTime:
|
||||
description: 入/出库,开始时间
|
||||
type: string
|
||||
store_list:
|
||||
description: 门店复选
|
||||
store_id:
|
||||
description: 门店id
|
||||
items:
|
||||
properties:
|
||||
store_id:
|
||||
description: 门店id
|
||||
type: integer
|
||||
store_name:
|
||||
description: 门店名称
|
||||
type: string
|
||||
type: object
|
||||
type: integer
|
||||
type: array
|
||||
type: object
|
||||
models.ErpPurchaseReportDetailResp:
|
||||
|
@ -2807,6 +2843,9 @@ definitions:
|
|||
erp_commodity_name:
|
||||
description: 商品名称
|
||||
type: string
|
||||
erp_purchase_order_id:
|
||||
description: 采购订单id
|
||||
type: integer
|
||||
erp_supplier_id:
|
||||
description: 供应商id
|
||||
type: integer
|
||||
|
@ -2979,7 +3018,7 @@ definitions:
|
|||
description: 最低零售价
|
||||
type: integer
|
||||
original_sn:
|
||||
description: 首次入库订单编号
|
||||
description: 首次入库订单编号(单据编号)
|
||||
type: string
|
||||
remark:
|
||||
description: 备注
|
||||
|
@ -4236,6 +4275,9 @@ definitions:
|
|||
count:
|
||||
description: 已执行数量
|
||||
type: integer
|
||||
erp_purchase_order_id:
|
||||
description: 采购订单id
|
||||
type: integer
|
||||
erp_supplier_id:
|
||||
description: 供应商id
|
||||
type: integer
|
||||
|
@ -7020,7 +7062,7 @@ paths:
|
|||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.ErpPurchaseInventoryReq'
|
||||
$ref: '#/definitions/models.ErpPurchaseExecuteReq'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
|
|
Loading…
Reference in New Issue
Block a user