1.修改采购订单相关缺陷;

This commit is contained in:
chenlin 2024-03-18 19:53:42 +08:00
parent d6b993d23e
commit fcf0f41bcf
7 changed files with 750 additions and 366 deletions

View File

@ -178,6 +178,15 @@ func ErpPurchaseDetail(c *gin.Context) {
return 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 var purchaseCommodities []model.ErpPurchaseCommodity
err = orm.Eloquent.Table("erp_purchase_commodity").Where("erp_purchase_order_id=?", req.ErpPurchaseOrderId). err = orm.Eloquent.Table("erp_purchase_commodity").Where("erp_purchase_order_id=?", req.ErpPurchaseOrderId).
Find(&purchaseCommodities).Error Find(&purchaseCommodities).Error
@ -216,6 +225,9 @@ func ErpPurchaseDetail(c *gin.Context) {
purchaseOrder.Commodities = commodityList purchaseOrder.Commodities = commodityList
// 添加最新入库人信息
purchaseOrder.InventoryId, purchaseOrder.InventoryName, _ = model.GetInventoryIdAndName(purchaseOrder.ID)
app.OK(c, purchaseOrder, "") app.OK(c, purchaseOrder, "")
return return
} }
@ -511,11 +523,11 @@ func ErpPurchaseTerminate(c *gin.Context) {
// @Tags 采购管理, V1.3.0 // @Tags 采购管理, V1.3.0
// @Produce json // @Produce json
// @Accept json // @Accept json
// @Param request body models.ErpPurchaseInventoryReq true "执行(入库/退货)模型" // @Param request body models.ErpPurchaseExecuteReq true "执行(入库/退货)模型"
// @Success 200 {object} models.ErpPurchaseExecuteResp // @Success 200 {object} models.ErpPurchaseExecuteResp
// @Router /api/v1/erp_purchase/execute [post] // @Router /api/v1/erp_purchase/execute [post]
func ErpPurchaseExecute(c *gin.Context) { func ErpPurchaseExecute(c *gin.Context) {
req := new(model.ErpPurchaseInventoryReq) req := new(model.ErpPurchaseExecuteReq)
if err := c.ShouldBindJSON(&req); err != nil { if err := c.ShouldBindJSON(&req); err != nil {
logger.Error("ShouldBindJSON err:", logger.Field("err", err)) logger.Error("ShouldBindJSON err:", logger.Field("err", err))
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误") app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")

View File

@ -75,7 +75,7 @@ type ErpStockCommodity struct {
StorageType uint32 `json:"storage_type"` // 入库方式1-系统入库 2-采购入库 StorageType uint32 `json:"storage_type"` // 入库方式1-系统入库 2-采购入库
FirstStockTime time.Time `json:"first_stock_time"` // 首次入库时间 FirstStockTime time.Time `json:"first_stock_time"` // 首次入库时间
StockSn string `json:"stock_sn"` // 库存订单编号 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:"-"` // 最近入库开始时间 StockStartTime time.Time `json:"stock_start_time" gorm:"-"` // 最近入库开始时间
StockEndTime time.Time `json:"stock_end_time" gorm:"-"` // 最近入库结束时间 StockEndTime time.Time `json:"stock_end_time" gorm:"-"` // 最近入库结束时间
Age uint32 `json:"age" gorm:"-"` // 最近库龄 Age uint32 `json:"age" gorm:"-"` // 最近库龄

View File

@ -108,7 +108,8 @@ type ErpOrderCommodity struct {
VmDiscount float64 `json:"vm_discount"` // 会员积分抵扣 VmDiscount float64 `json:"vm_discount"` // 会员积分抵扣
Amount float64 `json:"amount"` // 实际零售价 Amount float64 `json:"amount"` // 实际零售价
ReceivedAmount float64 `json:"received_amount"` // 商品实收金额 ReceivedAmount float64 `json:"received_amount"` // 商品实收金额
Remark string `json:"remark"` // 备注 Remark string `json:"remark"` // 销售备注
RejectedRemark string `json:"rejected_remark"` // 退货备注
RejectedPrice float64 `json:"rejected_price"` // 退货单价 RejectedPrice float64 `json:"rejected_price"` // 退货单价
RejectedCount uint32 `json:"rejected_count"` // 退货数量 RejectedCount uint32 `json:"rejected_count"` // 退货数量
RejectedAmount float64 `json:"rejected_amount"` // 退货金额 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") return nil, errors.New("rejected order commodity id is null")
} }
v.ID = 0 v.ID = 0
v.Remark = req.ErpOrderCommodities[i].Remark // 备注
v.RejectedRemark = req.ErpOrderCommodities[i].RejectedRemark // 退货备注
req.ErpOrderCommodities[i] = v req.ErpOrderCommodities[i] = v
if req.ErpOrderCommodities[i].RejectedPrice > req.ErpOrderCommodities[i].Amount { // 退货单价不能大于实际零售价 if req.ErpOrderCommodities[i].RejectedPrice > req.ErpOrderCommodities[i].Amount { // 退货单价不能大于实际零售价
logger.Error("rejected price gt retail price ") logger.Error("rejected price gt retail price ")
@ -2941,7 +2945,6 @@ func checkOrderData(req *ErpOrderCreateReq, sysUser *SysUser) (*ErpOrder, error)
req.ErpOrderCommodities[i].StaffProfit = StaffProfit // 员工毛利 req.ErpOrderCommodities[i].StaffProfit = StaffProfit // 员工毛利
erpOrder.TotalSalesProfit += salesProfit erpOrder.TotalSalesProfit += salesProfit
erpOrder.TotalStaffProfit += StaffProfit erpOrder.TotalStaffProfit += StaffProfit
} else if req.RetailType == RetailTypeSale { // 零售订单 } else if req.RetailType == RetailTypeSale { // 零售订单
var v ErpStockCommodity var v ErpStockCommodity
var ok bool var ok bool
@ -3065,7 +3068,7 @@ func updateCommodityData(gdb *gorm.DB, orderId uint32, req *ErpOrderCreateReq) e
if reqCommodity.ErpCommodityId == dbCommodity.ErpCommodityId { if reqCommodity.ErpCommodityId == dbCommodity.ErpCommodityId {
found = true found = true
// 找到匹配的商品,加入匹配列表 // 找到匹配的商品,加入匹配列表
matchingCommodities = append(matchingCommodities, dbCommodity) matchingCommodities = append(matchingCommodities, reqCommodity)
break break
} }
} }

View File

@ -35,31 +35,33 @@ const (
// ErpPurchaseOrder 采购订单表 // ErpPurchaseOrder 采购订单表
type ErpPurchaseOrder struct { type ErpPurchaseOrder struct {
Model Model
SerialNumber string `json:"serial_number" gorm:"index"` // 单据编号 SerialNumber string `json:"serial_number" gorm:"index"` // 单据编号
PurchaseType string `json:"purchase_type"` // 类型:procure-采购 reject-退货 PurchaseType string `json:"purchase_type"` // 类型:procure-采购 reject-退货
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
StoreName string `json:"store_name"` // 门店名称 StoreName string `json:"store_name"` // 门店名称
ErpSupplierId uint32 `json:"erp_supplier_id" gorm:"index"` // 供应商id ErpSupplierId uint32 `json:"erp_supplier_id" gorm:"index"` // 供应商id
ErpSupplierName string `json:"erp_supplier_name"` // 供应商名称 ErpSupplierName string `json:"erp_supplier_name"` // 供应商名称
HandlerId uint32 `json:"handler_id" gorm:"index"` // 经手人id HandlerId uint32 `json:"handler_id" gorm:"index"` // 经手人id
HandlerName string `json:"handler_name"` // 经手人名称 HandlerName string `json:"handler_name"` // 经手人名称
MakerTime time.Time `json:"maker_time"` // 制单时间 MakerTime *time.Time `json:"maker_time"` // 制单时间
MakerId uint32 `json:"maker_id" gorm:"index"` // 制单人id MakerId uint32 `json:"maker_id" gorm:"index"` // 制单人id
MakerName string `json:"maker_name"` // 制单人名称 MakerName string `json:"maker_name"` // 制单人名称
AuditTime time.Time `json:"audit_time"` // 审核时间 AuditTime *time.Time `json:"audit_time"` // 审核时间
AuditorId uint32 `json:"auditor_id" gorm:"index"` // 审核人id AuditorId uint32 `json:"auditor_id" gorm:"index"` // 审核人id
AuditorName string `json:"auditor_name"` // 审核人名称 AuditorName string `json:"auditor_name"` // 审核人名称
State uint32 `json:"state"` // 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止 State uint32 `json:"state"` // 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止 6-入库中 7-退货中
RejectedPurchaseOrderId uint32 `json:"rejected_purchase_order_id"` // 退货采购订单id RejectedSerialNumber string `json:"rejected_serial_number"` // 退货的采购订单单据编号
ErpCashierId uint32 `json:"erp_cashier_id"` // 付款方式/收款方式id ErpCashierId uint32 `json:"erp_cashier_id"` // 付款方式/收款方式id
ErpCashierName string `json:"erp_cashier_name"` // 付款方式/收款方式名称 ErpCashierName string `json:"erp_cashier_name"` // 付款方式/收款方式名称
AccountHolder string `json:"account_holder"` // 收款人 AccountHolder string `json:"account_holder"` // 收款人
OpeningBank string `json:"opening_bank"` // 开户行 OpeningBank string `json:"opening_bank"` // 开户行
BankAccount string `json:"bank_account"` // 银行卡号 BankAccount string `json:"bank_account"` // 银行卡号
DeliveryTime string `json:"delivery_time"` // 交货日期2024-02-23 DeliveryTime string `json:"delivery_time"` // 交货日期2024-02-23
DeliveryAddress string `json:"delivery_address"` // 交货地址 DeliveryAddress string `json:"delivery_address"` // 交货地址
Remark string `json:"remark"` // 备注 Remark string `json:"remark"` // 备注
Commodities []ErpPurchaseCommodity `json:"commodities" gorm:"-"` Commodities []ErpPurchaseCommodity `json:"commodities" gorm:"-"` //
InventoryId uint32 `json:"inventory_id" gorm:"-"` // 最近入库人id
InventoryName string `json:"inventory_name" gorm:"-"` // 最近入库人名称
} }
// ErpPurchaseCommodity 采购订单商品表 // ErpPurchaseCommodity 采购订单商品表
@ -105,6 +107,8 @@ type ErpPurchaseInventory struct {
ImplementationPrice float64 `json:"implementation_price"` // 执行单价 ImplementationPrice float64 `json:"implementation_price"` // 执行单价
Amount float64 `json:"amount"` // 执行金额 Amount float64 `json:"amount"` // 执行金额
EmployeePrice float64 `json:"employee_price"` // 员工成本价 EmployeePrice float64 `json:"employee_price"` // 员工成本价
InventoryId uint32 `json:"inventory_id"` // 最近入库人id
InventoryName string `json:"inventory_name"` // 最近入库人名称
} }
// ErpPurchaseCreateReq 新建采购订单入参 // ErpPurchaseCreateReq 新建采购订单入参
@ -172,8 +176,17 @@ type ErpPurchaseDetailReq struct {
ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id" binding:"required"` // 采购订单id ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id" binding:"required"` // 采购订单id
} }
// ErpPurchaseInventoryReq 入库(退货)入参;执行(入库/退货)入参 // ErpPurchaseInventoryReq 入库(退货)入参
type ErpPurchaseInventoryReq struct { 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 ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id" binding:"required"` // 采购订单id
PurchaseType string `json:"purchase_type" binding:"required"` // 采购类型:procure-采购 reject-退货 PurchaseType string `json:"purchase_type" binding:"required"` // 采购类型:procure-采购 reject-退货
Inventories []ErpPurchaseInventory `json:"inventories" binding:"required"` // 采购入库执行信息 Inventories []ErpPurchaseInventory `json:"inventories" binding:"required"` // 采购入库执行信息
@ -292,19 +305,19 @@ type FinishErpPurchaseDemandReq struct {
// ErpPurchaseReportByOrderReq 采购报表(按单)入参 // ErpPurchaseReportByOrderReq 采购报表(按单)入参
type ErpPurchaseReportByOrderReq struct { type ErpPurchaseReportByOrderReq struct {
SerialNumber string `json:"serial_number"` // 单据编号 SerialNumber string `json:"serial_number"` // 单据编号
PurchaseType string `json:"purchase_type"` // 采购类型procure-采购 reject-退货 PurchaseType string `json:"purchase_type"` // 采购类型procure-采购 reject-退货
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称 ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
StoreId uint32 `json:"store_id"` // 门店id StoreId []uint32 `json:"store_id"` // 门店id
HandlerId uint32 `json:"handler_id"` // 经手人id HandlerId uint32 `json:"handler_id"` // 经手人id
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id ErpSupplierId []uint32 `json:"erp_supplier_id"` // 供应商id
State uint32 `json:"state"` // 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止 State uint32 `json:"state"` // 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止
AuditTimeStart string `json:"audit_time_start"` // 审核开始时间 AuditTimeStart string `json:"audit_time_start"` // 审核开始时间
AuditTimeEnd string `json:"audit_time_end"` // 审核结束时间 AuditTimeEnd string `json:"audit_time_end"` // 审核结束时间
IsExport uint32 `json:"is_export"` // 1-导出 IsExport uint32 `json:"is_export"` // 1-导出
PageIndex int `json:"pageIndex"` // 页码 PageIndex int `json:"pageIndex"` // 页码
PageSize int `json:"pageSize"` // 页面条数 PageSize int `json:"pageSize"` // 页面条数
} }
// ErpPurchaseReportByOrderResp 采购报表(按单)出参 // ErpPurchaseReportByOrderResp 采购报表(按单)出参
@ -336,20 +349,21 @@ type CommodityData struct {
} }
type CommonData struct { type CommonData struct {
SerialNumber string `json:"serial_number"` // 单据编号 ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id"` // 采购订单id
PurchaseType string `json:"purchase_type"` // 单据类型:procure-采购 reject-退货 SerialNumber string `json:"serial_number"` // 单据编号
StoreId uint32 `json:"store_id"` // 门店id PurchaseType string `json:"purchase_type"` // 单据类型:procure-采购 reject-退货
StoreName string `json:"store_name"` // 门店名称 StoreId uint32 `json:"store_id"` // 门店id
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id StoreName string `json:"store_name"` // 门店名称
ErpSupplierName string `json:"erp_supplier_name"` // 供应商名称 ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id
HandlerId uint32 `json:"handler_id"` // 经手人id ErpSupplierName string `json:"erp_supplier_name"` // 供应商名称
HandlerName string `json:"handler_name"` // 经手人名称 HandlerId uint32 `json:"handler_id"` // 经手人id
MakerTime time.Time `json:"maker_time"` // 制单时间 HandlerName string `json:"handler_name"` // 经手人名称
MakerId uint32 `json:"maker_id"` // 制单人id MakerTime *time.Time `json:"maker_time"` // 制单时间
MakerName string `json:"maker_name"` // 制单人名称 MakerId uint32 `json:"maker_id"` // 制单人id
AuditTime time.Time `json:"audit_time"` // 审核时间 MakerName string `json:"maker_name"` // 制单人名称
AuditorId uint32 `json:"auditor_id"` // 审核人id AuditTime *time.Time `json:"audit_time"` // 审核时间
AuditorName string `json:"auditor_name"` // 审核人名称 AuditorId uint32 `json:"auditor_id"` // 审核人id
AuditorName string `json:"auditor_name"` // 审核人名称
} }
// ErpPurchaseCommodityData 采购订单商品信息 // ErpPurchaseCommodityData 采购订单商品信息
@ -362,19 +376,19 @@ type ErpPurchaseCommodityData struct {
// ErpPurchaseReportByCommodityReq 采购报表(按商品)入参 // ErpPurchaseReportByCommodityReq 采购报表(按商品)入参
type ErpPurchaseReportByCommodityReq struct { type ErpPurchaseReportByCommodityReq struct {
SerialNumber string `json:"serial_number"` // 单据编号 SerialNumber string `json:"serial_number"` // 单据编号
PurchaseType string `json:"purchase_type"` // 采购类型procure-采购 reject-退货 PurchaseType string `json:"purchase_type"` // 采购类型procure-采购 reject-退货
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称 ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
StoreId uint32 `json:"store_id"` // 门店id StoreId []uint32 `json:"store_id"` // 门店id
HandlerId uint32 `json:"handler_id"` // 经手人id HandlerId uint32 `json:"handler_id"` // 经手人id
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id ErpSupplierId []uint32 `json:"erp_supplier_id"` // 供应商id
State uint32 `json:"state"` // 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止 State uint32 `json:"state"` // 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止
AuditTimeStart string `json:"audit_time_start"` // 审核开始时间 AuditTimeStart string `json:"audit_time_start"` // 审核开始时间
AuditTimeEnd string `json:"audit_time_end"` // 审核结束时间 AuditTimeEnd string `json:"audit_time_end"` // 审核结束时间
IsExport uint32 `json:"is_export"` // 1-导出 IsExport uint32 `json:"is_export"` // 1-导出
PageIndex int `json:"pageIndex"` // 页码 PageIndex int `json:"pageIndex"` // 页码
PageSize int `json:"pageSize"` // 页面条数 PageSize int `json:"pageSize"` // 页面条数
} }
// ErpPurchaseReportByCommodityResp 采购报表(按商品)出参 // ErpPurchaseReportByCommodityResp 采购报表(按商品)出参
@ -461,21 +475,17 @@ type ErpPurchaseReportBySupplierResp struct {
// ErpPurchaseReportDetailReq 采购明细入参 // ErpPurchaseReportDetailReq 采购明细入参
type ErpPurchaseReportDetailReq struct { type ErpPurchaseReportDetailReq struct {
SerialNumber string `json:"serial_number"` // 单据编号 SerialNumber string `json:"serial_number"` // 单据编号
PurchaseType string `json:"purchase_type"` // 采购类型procure-采购 reject-退货 PurchaseType string `json:"purchase_type"` // 采购类型procure-采购 reject-退货
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称 ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id
StartTime string `json:"startTime"` // 入/出库,开始时间 StartTime string `json:"startTime"` // 入/出库,开始时间
EndTime string `json:"endTime"` // 入/出库,结束时间 EndTime string `json:"endTime"` // 入/出库,结束时间
IsExport uint32 `json:"is_export"` // 1-导出 IsExport uint32 `json:"is_export"` // 1-导出
PageIndex int `json:"pageIndex"` // 页码 PageIndex int `json:"pageIndex"` // 页码
PageSize int `json:"pageSize"` // 页面条数 PageSize int `json:"pageSize"` // 页面条数
StoreList []struct { StoreId []uint32 `json:"store_id"` // 门店id
StoreID uint32 `json:"store_id"` // 门店id
StoreName string `json:"store_name"` // 门店名称
} `json:"store_list"` // 门店复选
} }
// ErpPurchaseReportDetailResp 采购明细出参 // ErpPurchaseReportDetailResp 采购明细出参
@ -489,23 +499,24 @@ type ErpPurchaseReportDetailResp struct {
DifferencePrice float64 `json:"difference_price"` // 差价 DifferencePrice float64 `json:"difference_price"` // 差价
ExportUrl string `json:"export_url"` // 导出excel路径 ExportUrl string `json:"export_url"` // 导出excel路径
List []struct { List []struct {
OrderSerialNumber string `json:"order_serial_number"` // 单据编号 ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id"` // 采购订单id
PurchaseType string `json:"purchase_type"` // 单据类型:procure-采购 reject-退货 OrderSerialNumber string `json:"order_serial_number"` // 单据编号
ExecuteTime *time.Time `json:"execute_time"` // 出/入库时间 PurchaseType string `json:"purchase_type"` // 单据类型:procure-采购 reject-退货
StoreId uint32 `json:"store_id"` // 门店id ExecuteTime *time.Time `json:"execute_time"` // 出/入库时间
StoreName string `json:"store_name"` // 门店名称 StoreId uint32 `json:"store_id"` // 门店id
ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id StoreName string `json:"store_name"` // 门店名称
ErpSupplierName string `json:"erp_supplier_name"` // 供应商名称 ErpSupplierId uint32 `json:"erp_supplier_id"` // 供应商id
ErpCommodityId uint32 `json:"erp_commodity_id"` // 商品id ErpSupplierName string `json:"erp_supplier_name"` // 供应商名称
ErpCommodityName string `json:"erp_commodity_name"` // 商品名称 ErpCommodityId uint32 `json:"erp_commodity_id"` // 商品id
ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id ErpCommodityName string `json:"erp_commodity_name"` // 商品名称
ErpCategoryName string `json:"erp_category_name"` // 商品分类名称 ErpCategoryID uint32 `json:"erp_category_id"` // 商品分类id
IMEIType uint32 `json:"imei_type"` // 1-无串码 2-串码 ErpCategoryName string `json:"erp_category_name"` // 商品分类名称
IMEI string `json:"imei"` // 商品串码 IMEIType uint32 `json:"imei_type"` // 1-无串码 2-串码
Price float64 `json:"price"` // 采购价 IMEI string `json:"imei"` // 商品串码
EmployeePrice float64 `json:"employee_price"` // 员工成本价 Price float64 `json:"price"` // 采购价
RejectPrice float64 `json:"reject_price"` // 退货价 EmployeePrice float64 `json:"employee_price"` // 员工成本价
DifferencePrice float64 `json:"difference_price"` // 差价 RejectPrice float64 `json:"reject_price"` // 退货价
DifferencePrice float64 `json:"difference_price"` // 差价
} `json:"list"` // 采购明细信息 } `json:"list"` // 采购明细信息
} }
@ -527,6 +538,7 @@ func (m *ErpPurchaseOrderListReq) List() (*ErpPurchaseOrderListResp, error) {
if m.AuditFlag == "ON" { //2-待入库 4-已完成 5-已终止 if m.AuditFlag == "ON" { //2-待入库 4-已完成 5-已终止
stateList = []int{2, 4, 5} stateList = []int{2, 4, 5}
qs = qs.Where("state IN ?", stateList) qs = qs.Where("state IN ?", stateList)
qs = qs.Where("purchase_type=?", ErpProcureOrder)
} }
if m.SerialNumber != "" { if m.SerialNumber != "" {
qs = qs.Where("serial_number=?", m.SerialNumber) qs = qs.Where("serial_number=?", m.SerialNumber)
@ -579,6 +591,17 @@ func (m *ErpPurchaseOrderListReq) List() (*ErpPurchaseOrderListResp, error) {
return resp, err 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 resp.List = orders
return resp, nil return resp, nil
} }
@ -775,7 +798,7 @@ func CreateErpPurchaseOrder(req *ErpPurchaseCreateReq, sysUser *SysUser) (*ErpPu
PurchaseType: req.PurchaseType, PurchaseType: req.PurchaseType,
StoreId: req.StoreId, StoreId: req.StoreId,
ErpSupplierId: req.ErpSupplierId, ErpSupplierId: req.ErpSupplierId,
MakerTime: nowTime, MakerTime: &nowTime,
HandlerId: req.HandlerId, HandlerId: req.HandlerId,
HandlerName: req.HandlerName, HandlerName: req.HandlerName,
MakerId: uint32(sysUser.UserId), MakerId: uint32(sysUser.UserId),
@ -802,18 +825,19 @@ func CreateErpPurchaseOrder(req *ErpPurchaseCreateReq, sysUser *SysUser) (*ErpPu
} }
purchaseOrder = &ErpPurchaseOrder{ purchaseOrder = &ErpPurchaseOrder{
SerialNumber: "cgt" + NewErpPurchaseSn(), SerialNumber: "cgt" + NewErpPurchaseSn(),
PurchaseType: req.PurchaseType, PurchaseType: req.PurchaseType,
StoreId: erpPurchaseOrder.StoreId, StoreId: erpPurchaseOrder.StoreId,
ErpSupplierId: erpPurchaseOrder.ErpSupplierId, ErpSupplierId: erpPurchaseOrder.ErpSupplierId,
MakerTime: nowTime, MakerTime: &nowTime,
HandlerId: req.HandlerId, HandlerId: req.HandlerId,
HandlerName: req.HandlerName, HandlerName: req.HandlerName,
MakerId: uint32(sysUser.UserId), MakerId: uint32(sysUser.UserId),
MakerName: sysUser.NickName, MakerName: sysUser.NickName,
State: ErpPurchaseOrderUnAudit, // 1-待审核 State: ErpPurchaseOrderUnAudit, // 1-待审核
ErpCashierId: req.ErpCashierId, ErpCashierId: req.ErpCashierId,
Remark: req.Remark, Remark: req.Remark,
RejectedSerialNumber: req.PurchaseOrderSn,
} }
err = purchaseOrder.IdInit() err = purchaseOrder.IdInit()
} else { } else {
@ -1018,7 +1042,9 @@ func InventoryErpPurchase(req *ErpPurchaseInventoryReq) error {
logger.Error("update inventory count err:", logger.Field("err", err)) logger.Error("update inventory count err:", logger.Field("err", err))
return 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 err = begin.Create(&v).Error
if err != nil { if err != nil {
@ -1036,10 +1062,13 @@ func InventoryErpPurchase(req *ErpPurchaseInventoryReq) error {
return err return err
} }
var orderState int
// 更新库存信息表 // 更新库存信息表
if purchaseOrder.PurchaseType == ErpProcureOrder { //采购入库订单 if purchaseOrder.PurchaseType == ErpProcureOrder { //采购入库订单
orderState = ErpPurchaseOrderInInventory
err = InventoryErpPurchaseUpdateStock(begin, req, purchaseOrder) err = InventoryErpPurchaseUpdateStock(begin, req, purchaseOrder)
} else if purchaseOrder.PurchaseType == ErpRejectOrder { // 采购退货订单 } else if purchaseOrder.PurchaseType == ErpRejectOrder { // 采购退货订单
orderState = ErpPurchaseOrderInReject
err = InventoryErpPurchaseUpdateRejectStock(begin, req, purchaseOrder) err = InventoryErpPurchaseUpdateRejectStock(begin, req, purchaseOrder)
} else { } else {
return errors.New("订单类型有误") return errors.New("订单类型有误")
@ -1050,6 +1079,18 @@ func InventoryErpPurchase(req *ErpPurchaseInventoryReq) error {
return err 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 err = begin.Commit().Error
if err != nil { if err != nil {
begin.Rollback() begin.Rollback()
@ -1060,6 +1101,19 @@ func InventoryErpPurchase(req *ErpPurchaseInventoryReq) error {
return nil 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 采购订单入库更新库存信息 // InventoryErpPurchaseUpdateStock 采购订单入库更新库存信息
func InventoryErpPurchaseUpdateStock(gdb *gorm.DB, req *ErpPurchaseInventoryReq, purchaseOrder ErpPurchaseOrder) error { func InventoryErpPurchaseUpdateStock(gdb *gorm.DB, req *ErpPurchaseInventoryReq, purchaseOrder ErpPurchaseOrder) error {
// 遍历采购入库商品信息 // 遍历采购入库商品信息
@ -1131,6 +1185,7 @@ func InventoryErpPurchaseUpdateStock(gdb *gorm.DB, req *ErpPurchaseInventoryReq,
MemberDiscount: commodityInfo.MemberDiscount, MemberDiscount: commodityInfo.MemberDiscount,
MinRetailPrice: commodityInfo.MinRetailPrice, MinRetailPrice: commodityInfo.MinRetailPrice,
RetailPrice: commodityInfo.RetailPrice, RetailPrice: commodityInfo.RetailPrice,
OriginalSn: purchaseOrder.SerialNumber,
} }
stockList = append(stockList, stockCommodity) stockList = append(stockList, stockCommodity)
} }
@ -1180,7 +1235,7 @@ func InventoryErpPurchaseUpdateRejectStock(gdb *gorm.DB, req *ErpPurchaseInvento
logger.Error("RetailTypeRejected commodities err:", logger.Field("err", err)) logger.Error("RetailTypeRejected commodities err:", logger.Field("err", err))
return err return err
} }
} else { // 非串码商品 } else { // todo 非串码商品,需要判断下更新的数量和库存数量是否相同,如果库存数量不够不支持退货
var stockCommodity []ErpStockCommodity var stockCommodity []ErpStockCommodity
// 通过门店id商品id查找状态为1-在库的非串码商品 // 通过门店id商品id查找状态为1-在库的非串码商品
err := orm.Eloquent.Table("erp_stock_commodity").Where("erp_commodity_id = ? and store_id = ? "+ err := orm.Eloquent.Table("erp_stock_commodity").Where("erp_commodity_id = ? and store_id = ? "+
@ -1293,8 +1348,13 @@ func checkPurchaseInventory(req *ErpPurchaseInventoryReq) error {
} }
// ExecuteErpPurchase 执行(入库/退货) // ExecuteErpPurchase 执行(入库/退货)
func ExecuteErpPurchase(req *ErpPurchaseInventoryReq) (*ErpPurchaseExecuteResp, error) { func ExecuteErpPurchase(req *ErpPurchaseExecuteReq) (*ErpPurchaseExecuteResp, error) {
err := checkPurchaseInventory(req) reqParam := &ErpPurchaseInventoryReq{
ErpPurchaseOrderId: req.ErpPurchaseOrderId,
PurchaseType: req.PurchaseType,
Inventories: req.Inventories,
}
err := checkPurchaseInventory(reqParam)
if err != nil { if err != nil {
logger.Error("checkPurchaseInventoryReq err:", logger.Field("err", err)) logger.Error("checkPurchaseInventoryReq err:", logger.Field("err", err))
return nil, 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 { if err != nil {
begin.Rollback() begin.Rollback()
logger.Error("commit err:", logger.Field("err", err)) logger.Error("commit err:", logger.Field("err", err))
@ -2748,6 +2819,7 @@ func getReportByOrderFromCommodityOrCategory(req *ErpPurchaseReportByOrderReq) (
if req.ErpCategoryID != 0 { if req.ErpCategoryID != 0 {
qs = qs.Where("erp_category_id=?", req.ErpCategoryID) qs = qs.Where("erp_category_id=?", req.ErpCategoryID)
} }
var inventoryList []ErpPurchaseInventory var inventoryList []ErpPurchaseInventory
var err error var err error
if req.IsExport == 1 { // 导出excel if req.IsExport == 1 { // 导出excel
@ -2777,11 +2849,30 @@ func getReportByOrderFromCommodityOrCategory(req *ErpPurchaseReportByOrderReq) (
for _, v := range commodityMap { for _, v := range commodityMap {
var purchaseOrder ErpPurchaseOrder var purchaseOrder ErpPurchaseOrder
var commodityList []ErpPurchaseCommodityData 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 { if err != nil {
return nil, err return nil, err
} }
var reportByOrderData ReportByOrderData var reportByOrderData ReportByOrderData
reportByOrderData.ErpPurchaseOrderId = purchaseOrder.ID
reportByOrderData.SerialNumber = purchaseOrder.SerialNumber reportByOrderData.SerialNumber = purchaseOrder.SerialNumber
reportByOrderData.PurchaseType = purchaseOrder.PurchaseType reportByOrderData.PurchaseType = purchaseOrder.PurchaseType
reportByOrderData.StoreId = purchaseOrder.StoreId reportByOrderData.StoreId = purchaseOrder.StoreId
@ -2799,6 +2890,18 @@ func getReportByOrderFromCommodityOrCategory(req *ErpPurchaseReportByOrderReq) (
reportByOrderData.State = purchaseOrder.State reportByOrderData.State = purchaseOrder.State
reportByOrderData.Remark = purchaseOrder.Remark 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 nAmount float64
var nCount uint32 var nCount uint32
for _, inventory := range inventoryList { for _, inventory := range inventoryList {
@ -2865,11 +2968,19 @@ func getReportByOrderFromCommon(req *ErpPurchaseReportByOrderReq) (*ErpPurchaseR
if req.PurchaseType != "" { // 采购类型 if req.PurchaseType != "" { // 采购类型
qs = qs.Where("purchase_type=?", req.PurchaseType) qs = qs.Where("purchase_type=?", req.PurchaseType)
} }
if req.StoreId != 0 { // 门店id if len(req.ErpSupplierId) > 0 { // 供应商复选
qs = qs.Where("store_id=?", req.StoreId) 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 if len(req.StoreId) > 0 { // 门店复选
qs = qs.Where("erp_supplier_id=?", req.ErpSupplierId) var storeIDs []uint32
for _, store := range req.StoreId {
storeIDs = append(storeIDs, store)
}
qs = qs.Where("store_id IN (?)", storeIDs)
} }
if req.HandlerId != 0 { // 经手人id if req.HandlerId != 0 { // 经手人id
qs = qs.Where("handler_id=?", req.HandlerId) qs = qs.Where("handler_id=?", req.HandlerId)
@ -2922,6 +3033,7 @@ func getReportByOrderFromCommon(req *ErpPurchaseReportByOrderReq) (*ErpPurchaseR
var reportByOrderData ReportByOrderData var reportByOrderData ReportByOrderData
var nAmount float64 var nAmount float64
var nCount uint32 var nCount uint32
reportByOrderData.ErpPurchaseOrderId = v.ID
reportByOrderData.SerialNumber = v.SerialNumber reportByOrderData.SerialNumber = v.SerialNumber
reportByOrderData.PurchaseType = v.PurchaseType reportByOrderData.PurchaseType = v.PurchaseType
reportByOrderData.StoreId = v.StoreId reportByOrderData.StoreId = v.StoreId
@ -2930,14 +3042,27 @@ func getReportByOrderFromCommon(req *ErpPurchaseReportByOrderReq) (*ErpPurchaseR
reportByOrderData.ErpSupplierName = v.ErpSupplierName reportByOrderData.ErpSupplierName = v.ErpSupplierName
reportByOrderData.HandlerId = v.HandlerId reportByOrderData.HandlerId = v.HandlerId
reportByOrderData.HandlerName = v.HandlerName reportByOrderData.HandlerName = v.HandlerName
reportByOrderData.MakerTime = v.MakerTime //reportByOrderData.MakerTime = v.MakerTime
reportByOrderData.MakerId = v.MakerId reportByOrderData.MakerId = v.MakerId
reportByOrderData.MakerName = v.MakerName reportByOrderData.MakerName = v.MakerName
reportByOrderData.AuditorId = v.AuditorId reportByOrderData.AuditorId = v.AuditorId
reportByOrderData.AuditTime = v.AuditTime //reportByOrderData.AuditTime = v.AuditTime
reportByOrderData.AuditorName = v.AuditorName reportByOrderData.AuditorName = v.AuditorName
reportByOrderData.State = v.State reportByOrderData.State = v.State
reportByOrderData.Remark = v.Remark 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) reportByOrderData.CommodityData, nAmount, nCount, err = getOrderInventoryInfo(v.ID)
if err != nil { if err != nil {
return nil, err return nil, err
@ -3230,7 +3355,7 @@ func getReportByCommodityFromCommodityOrCategory(req *ErpPurchaseReportByCommodi
var totalPurchaseData PurchaseData var totalPurchaseData PurchaseData
var purchaseOrderDataList []ErpCommodityPurchaseOrderData var purchaseOrderDataList []ErpCommodityPurchaseOrderData
for orderId := range orderIdSet { for orderId := range orderIdSet {
purchaseOrderData, err := getPurchaseOrderData(orderId) purchaseOrderData, err := getPurchaseOrderData(orderId, req)
if err != nil { if err != nil {
return nil, err 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 purchaseOrderData ErpCommodityPurchaseOrderData
// 查询采购订单信息 // 查询采购订单信息
var purchaseOrder ErpPurchaseOrder 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 { if err != nil {
return purchaseOrderData, err return purchaseOrderData, err
} }
@ -3304,6 +3445,7 @@ func getPurchaseOrderData(orderID uint32) (ErpCommodityPurchaseOrderData, error)
} }
// 组合数据 // 组合数据
purchaseOrderData.ErpPurchaseOrderId = purchaseOrder.ID
purchaseOrderData.SerialNumber = purchaseOrder.SerialNumber purchaseOrderData.SerialNumber = purchaseOrder.SerialNumber
purchaseOrderData.PurchaseType = purchaseOrder.PurchaseType purchaseOrderData.PurchaseType = purchaseOrder.PurchaseType
purchaseOrderData.StoreId = purchaseOrder.StoreId purchaseOrderData.StoreId = purchaseOrder.StoreId
@ -3312,13 +3454,24 @@ func getPurchaseOrderData(orderID uint32) (ErpCommodityPurchaseOrderData, error)
purchaseOrderData.ErpSupplierName = purchaseOrder.ErpSupplierName purchaseOrderData.ErpSupplierName = purchaseOrder.ErpSupplierName
purchaseOrderData.HandlerId = purchaseOrder.HandlerId purchaseOrderData.HandlerId = purchaseOrder.HandlerId
purchaseOrderData.HandlerName = purchaseOrder.HandlerName purchaseOrderData.HandlerName = purchaseOrder.HandlerName
purchaseOrderData.MakerTime = purchaseOrder.MakerTime //purchaseOrderData.MakerTime = purchaseOrder.MakerTime
purchaseOrderData.MakerId = purchaseOrder.MakerId purchaseOrderData.MakerId = purchaseOrder.MakerId
purchaseOrderData.MakerName = purchaseOrder.MakerName purchaseOrderData.MakerName = purchaseOrder.MakerName
purchaseOrderData.AuditorId = purchaseOrder.AuditorId purchaseOrderData.AuditorId = purchaseOrder.AuditorId
purchaseOrderData.AuditTime = purchaseOrder.AuditTime //purchaseOrderData.AuditTime = purchaseOrder.AuditTime
purchaseOrderData.AuditorName = purchaseOrder.AuditorName 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.PlanCount = purchaseData.PlanCount
purchaseOrderData.PlanPrice = purchaseData.PlanPrice purchaseOrderData.PlanPrice = purchaseData.PlanPrice
purchaseOrderData.PlanAmount = purchaseData.PlanAmount purchaseOrderData.PlanAmount = purchaseData.PlanAmount
@ -3384,11 +3537,19 @@ func getReportByCommodityFromCommon(req *ErpPurchaseReportByCommodityReq) (*ErpP
if req.PurchaseType != "" { // 采购类型 if req.PurchaseType != "" { // 采购类型
qs = qs.Where("purchase_type=?", req.PurchaseType) qs = qs.Where("purchase_type=?", req.PurchaseType)
} }
if req.StoreId != 0 { // 门店id if len(req.ErpSupplierId) > 0 { // 供应商复选
qs = qs.Where("store_id=?", req.StoreId) 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 if len(req.StoreId) > 0 { // 门店复选
qs = qs.Where("erp_supplier_id=?", req.ErpSupplierId) var storeIDs []uint32
for _, store := range req.StoreId {
storeIDs = append(storeIDs, store)
}
qs = qs.Where("store_id IN (?)", storeIDs)
} }
if req.HandlerId != 0 { // 经手人id if req.HandlerId != 0 { // 经手人id
qs = qs.Where("handler_id=?", req.HandlerId) qs = qs.Where("handler_id=?", req.HandlerId)
@ -3495,20 +3656,21 @@ func getReportByCommodityFromCommon(req *ErpPurchaseReportByCommodityReq) (*ErpP
purchaseOrderData := ErpCommodityPurchaseOrderData{ purchaseOrderData := ErpCommodityPurchaseOrderData{
CommonData{ CommonData{
SerialNumber: v.SerialNumber, ErpPurchaseOrderId: v.ErpPurchaseOrderId,
PurchaseType: v.PurchaseType, SerialNumber: v.SerialNumber,
StoreId: v.StoreId, PurchaseType: v.PurchaseType,
StoreName: v.StoreName, StoreId: v.StoreId,
ErpSupplierId: v.ErpSupplierId, StoreName: v.StoreName,
ErpSupplierName: v.ErpSupplierName, ErpSupplierId: v.ErpSupplierId,
HandlerId: v.HandlerId, ErpSupplierName: v.ErpSupplierName,
HandlerName: v.HandlerName, HandlerId: v.HandlerId,
MakerTime: v.MakerTime, HandlerName: v.HandlerName,
MakerId: v.MakerId, //MakerTime: v.MakerTime,
MakerName: v.MakerName, MakerId: v.MakerId,
AuditorId: v.AuditorId, MakerName: v.MakerName,
AuditTime: v.AuditTime, AuditorId: v.AuditorId,
AuditorName: v.AuditorName, //AuditTime: v.AuditTime,
AuditorName: v.AuditorName,
}, },
PurchaseData{ PurchaseData{
PlanCount: v.PlanCount, PlanCount: v.PlanCount,
@ -3521,6 +3683,19 @@ func getReportByCommodityFromCommon(req *ErpPurchaseReportByCommodityReq) (*ErpP
NonExecutionCount: v.NonExecutionCount, 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) 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.SerialNumber = purchaseOrder.SerialNumber
purchaseOrderData.PurchaseType = purchaseOrder.PurchaseType purchaseOrderData.PurchaseType = purchaseOrder.PurchaseType
purchaseOrderData.StoreId = purchaseOrder.StoreId purchaseOrderData.StoreId = purchaseOrder.StoreId
@ -3604,13 +3780,24 @@ func getPurchaseOrderAndCommodityData(orderID, commodityId uint32) (ErpCommodity
purchaseOrderData.ErpSupplierName = purchaseOrder.ErpSupplierName purchaseOrderData.ErpSupplierName = purchaseOrder.ErpSupplierName
purchaseOrderData.HandlerId = purchaseOrder.HandlerId purchaseOrderData.HandlerId = purchaseOrder.HandlerId
purchaseOrderData.HandlerName = purchaseOrder.HandlerName purchaseOrderData.HandlerName = purchaseOrder.HandlerName
purchaseOrderData.MakerTime = purchaseOrder.MakerTime
purchaseOrderData.MakerId = purchaseOrder.MakerId purchaseOrderData.MakerId = purchaseOrder.MakerId
purchaseOrderData.MakerName = purchaseOrder.MakerName purchaseOrderData.MakerName = purchaseOrder.MakerName
purchaseOrderData.AuditorId = purchaseOrder.AuditorId purchaseOrderData.AuditorId = purchaseOrder.AuditorId
purchaseOrderData.AuditTime = purchaseOrder.AuditTime purchaseOrderData.AuditTime = purchaseOrder.AuditTime
purchaseOrderData.AuditorName = purchaseOrder.AuditorName 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.PlanCount = purchaseData.PlanCount
purchaseOrderData.PlanPrice = purchaseData.PlanPrice purchaseOrderData.PlanPrice = purchaseData.PlanPrice
purchaseOrderData.PlanAmount = purchaseData.PlanAmount purchaseOrderData.PlanAmount = purchaseData.PlanAmount
@ -3982,7 +4169,7 @@ func GetReportBySupplier(req *ErpPurchaseReportBySupplierReq) (*ErpPurchaseRepor
if req.PurchaseType != "" { if req.PurchaseType != "" {
query = query.Where("erp_purchase_inventory.purchase_type = ?", 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 var commodityNameList []string
for _, commodityName := range req.ErpCommodityName { for _, commodityName := range req.ErpCommodityName {
commodityNameList = append(commodityNameList, commodityName) commodityNameList = append(commodityNameList, commodityName)
@ -3990,7 +4177,7 @@ func GetReportBySupplier(req *ErpPurchaseReportBySupplierReq) (*ErpPurchaseRepor
query = query.Where("erp_purchase_inventory.erp_commodity_name IN (?)", commodityNameList) query = query.Where("erp_purchase_inventory.erp_commodity_name IN (?)", commodityNameList)
} }
if len(req.ErpCategoryID) != 0 { if len(req.ErpCategoryID) > 0 {
var erpCategoryIDs []uint32 var erpCategoryIDs []uint32
for _, categoryID := range req.ErpCategoryID { for _, categoryID := range req.ErpCategoryID {
erpCategoryIDs = append(erpCategoryIDs, categoryID) erpCategoryIDs = append(erpCategoryIDs, categoryID)
@ -3998,7 +4185,7 @@ func GetReportBySupplier(req *ErpPurchaseReportBySupplierReq) (*ErpPurchaseRepor
query = query.Where("erp_purchase_inventory.erp_category_id IN (?)", erpCategoryIDs) query = query.Where("erp_purchase_inventory.erp_category_id IN (?)", erpCategoryIDs)
} }
if len(req.ErpSupplierId) != 0 { if len(req.ErpSupplierId) > 0 {
var supplierIDs []uint32 var supplierIDs []uint32
for _, supplier := range req.ErpSupplierId { for _, supplier := range req.ErpSupplierId {
supplierIDs = append(supplierIDs, supplier) supplierIDs = append(supplierIDs, supplier)
@ -4038,10 +4225,14 @@ func GetReportBySupplier(req *ErpPurchaseReportBySupplierReq) (*ErpPurchaseRepor
resp.Total = int(total) resp.Total = int(total)
// 分页查询 // 分页查询
var err error
if req.IsExport == 1 { // 导出excel if req.IsExport == 1 { // 导出excel
query.Find(&resp.List) err = query.Find(&resp.List).Error
} else { } 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, PageIndex: page + 1,
PageSize: req.PageSize, PageSize: req.PageSize,
List: make([]struct { List: make([]struct {
OrderSerialNumber string `json:"order_serial_number"` ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id"` // 采购订单id
PurchaseType string `json:"purchase_type"` OrderSerialNumber string `json:"order_serial_number"`
ExecuteTime *time.Time `json:"execute_time"` PurchaseType string `json:"purchase_type"`
StoreId uint32 `json:"store_id"` ExecuteTime *time.Time `json:"execute_time"`
StoreName string `json:"store_name"` StoreId uint32 `json:"store_id"`
ErpSupplierId uint32 `json:"erp_supplier_id"` StoreName string `json:"store_name"`
ErpSupplierName string `json:"erp_supplier_name"` ErpSupplierId uint32 `json:"erp_supplier_id"`
ErpCommodityId uint32 `json:"erp_commodity_id"` ErpSupplierName string `json:"erp_supplier_name"`
ErpCommodityName string `json:"erp_commodity_name"` ErpCommodityId uint32 `json:"erp_commodity_id"`
ErpCategoryID uint32 `json:"erp_category_id"` ErpCommodityName string `json:"erp_commodity_name"`
ErpCategoryName string `json:"erp_category_name"` ErpCategoryID uint32 `json:"erp_category_id"`
IMEIType uint32 `json:"imei_type"` ErpCategoryName string `json:"erp_category_name"`
IMEI string `json:"imei"` IMEIType uint32 `json:"imei_type"`
Price float64 `json:"price"` IMEI string `json:"imei"`
EmployeePrice float64 `json:"employee_price"` Price float64 `json:"price"`
RejectPrice float64 `json:"reject_price"` EmployeePrice float64 `json:"employee_price"`
DifferencePrice float64 `json:"difference_price"` RejectPrice float64 `json:"reject_price"`
DifferencePrice float64 `json:"difference_price"`
}, 0), }, 0),
} }
qs := orm.Eloquent.Debug().Table("erp_purchase_order"). 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_order.purchase_type, "+
"erp_purchase_inventory.created_at as execute_time, "+ "erp_purchase_inventory.created_at as execute_time, "+
"erp_purchase_order.store_id, "+ "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 = 'procure' THEN 0 "+
"WHEN erp_purchase_order.purchase_type = 'reject' THEN erp_purchase_inventory.implementation_price "+ "WHEN erp_purchase_order.purchase_type = 'reject' THEN erp_purchase_inventory.implementation_price "+
"ELSE 0 END AS reject_price, "+ "ELSE 0 END AS reject_price, "+
"erp_purchase_inventory.implementation_price as price, "+
"erp_purchase_inventory.employee_price, "+ "erp_purchase_inventory.employee_price, "+
"(erp_purchase_inventory.implementation_price - erp_purchase_inventory.employee_price) as difference_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"). Joins("JOIN erp_purchase_inventory ON erp_purchase_order.id = erp_purchase_inventory.erp_purchase_order_id").
Where("erp_purchase_order.state <> ?", 5) // 排除已终止的订单 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 != "" { if req.SerialNumber != "" {
qs = qs.Where("erp_purchase_order.serial_number = ?", 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 != "" { if req.PurchaseType != "" {
qs = qs.Where("erp_purchase_order.purchase_type = ?", 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 != "" { if req.ErpCommodityName != "" {
qs = qs.Where("erp_purchase_inventory.erp_commodity_name LIKE ?", "%"+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 { if req.ErpCategoryID != 0 {
qs = qs.Where("erp_purchase_inventory.erp_category_id = ?", req.ErpCategoryID) 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 { if req.ErpSupplierId != 0 {
qs = qs.Where("erp_purchase_order.erp_supplier_id = ?", req.ErpSupplierId) 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 != "" { // 入/出库开始时间 if req.StartTime != "" { // 入/出库开始时间
parse, err := time.Parse(QueryTimeFormat, req.StartTime) parse, err := time.Parse(QueryTimeFormat, req.StartTime)
@ -4257,6 +4459,7 @@ func GetReportDetail(req *ErpPurchaseReportDetailReq) (*ErpPurchaseReportDetailR
return nil, err return nil, err
} }
qs = qs.Where("erp_purchase_inventory.created_at >= ?", parse) qs = qs.Where("erp_purchase_inventory.created_at >= ?", parse)
countQuery = countQuery.Where("erp_purchase_inventory.created_at >= ?", parse)
} }
if req.EndTime != "" { // 入/出库结束时间 if req.EndTime != "" { // 入/出库结束时间
parse, err := time.Parse(QueryTimeFormat, req.EndTime) parse, err := time.Parse(QueryTimeFormat, req.EndTime)
@ -4265,19 +4468,27 @@ func GetReportDetail(req *ErpPurchaseReportDetailReq) (*ErpPurchaseReportDetailR
return nil, err return nil, err
} }
qs = qs.Where("erp_purchase_inventory.created_at <= ?", parse) 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 var storeIDs []uint32
for _, store := range req.StoreList { for _, store := range req.StoreId {
storeIDs = append(storeIDs, store.StoreID) storeIDs = append(storeIDs, store)
} }
qs = qs.Where("erp_purchase_order.store_id IN (?)", storeIDs) 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 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). Offset(offset).
Limit(req.PageSize). Limit(req.PageSize).
Scan(&resp.List).Error 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.Total = int(count)
resp.Price, resp.EmployeePrice, resp.RejectPrice, resp.DifferencePrice = calculatePrices(resp.List) resp.Price, resp.EmployeePrice, resp.RejectPrice, resp.DifferencePrice = calculatePrices(resp.List)
@ -4319,23 +4523,24 @@ func GetReportDetail(req *ErpPurchaseReportDetailReq) (*ErpPurchaseReportDetailR
// 计算价格信息 // 计算价格信息
func calculatePrices(list []struct { func calculatePrices(list []struct {
OrderSerialNumber string `json:"order_serial_number"` ErpPurchaseOrderId uint32 `json:"erp_purchase_order_id"` // 采购订单id
PurchaseType string `json:"purchase_type"` OrderSerialNumber string `json:"order_serial_number"`
ExecuteTime *time.Time `json:"execute_time"` PurchaseType string `json:"purchase_type"`
StoreId uint32 `json:"store_id"` ExecuteTime *time.Time `json:"execute_time"`
StoreName string `json:"store_name"` StoreId uint32 `json:"store_id"`
ErpSupplierId uint32 `json:"erp_supplier_id"` StoreName string `json:"store_name"`
ErpSupplierName string `json:"erp_supplier_name"` ErpSupplierId uint32 `json:"erp_supplier_id"`
ErpCommodityId uint32 `json:"erp_commodity_id"` ErpSupplierName string `json:"erp_supplier_name"`
ErpCommodityName string `json:"erp_commodity_name"` ErpCommodityId uint32 `json:"erp_commodity_id"`
ErpCategoryID uint32 `json:"erp_category_id"` ErpCommodityName string `json:"erp_commodity_name"`
ErpCategoryName string `json:"erp_category_name"` ErpCategoryID uint32 `json:"erp_category_id"`
IMEIType uint32 `json:"imei_type"` ErpCategoryName string `json:"erp_category_name"`
IMEI string `json:"imei"` IMEIType uint32 `json:"imei_type"`
Price float64 `json:"price"` IMEI string `json:"imei"`
EmployeePrice float64 `json:"employee_price"` Price float64 `json:"price"`
RejectPrice float64 `json:"reject_price"` EmployeePrice float64 `json:"employee_price"`
DifferencePrice float64 `json:"difference_price"` RejectPrice float64 `json:"reject_price"`
DifferencePrice float64 `json:"difference_price"`
}) (price, employeePrice, rejectPrice, differencePrice float64) { }) (price, employeePrice, rejectPrice, differencePrice float64) {
for _, item := range list { for _, item := range list {
price += item.Price price += item.Price

View File

@ -2433,7 +2433,7 @@ const docTemplate = `{
"in": "body", "in": "body",
"required": true, "required": true,
"schema": { "schema": {
"$ref": "#/definitions/models.ErpPurchaseInventoryReq" "$ref": "#/definitions/models.ErpPurchaseExecuteReq"
} }
} }
], ],
@ -6707,6 +6707,10 @@ const docTemplate = `{
"description": "已执行数量", "description": "已执行数量",
"type": "integer" "type": "integer"
}, },
"erp_purchase_order_id": {
"description": "采购订单id",
"type": "integer"
},
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "integer"
@ -7082,8 +7086,12 @@ const docTemplate = `{
"description": "退货单价", "description": "退货单价",
"type": "number" "type": "number"
}, },
"rejected_remark": {
"description": "退货备注",
"type": "string"
},
"remark": { "remark": {
"description": "备注", "description": "销售备注",
"type": "string" "type": "string"
}, },
"retail_price": { "retail_price": {
@ -7855,33 +7863,26 @@ const docTemplate = `{
"models.ErpPurchaseCreateReq": { "models.ErpPurchaseCreateReq": {
"type": "object", "type": "object",
"required": [ "required": [
"account_holder",
"bank_account",
"delivery_address",
"delivery_time",
"erp_cashier_id", "erp_cashier_id",
"erp_purchase_commodity", "erp_purchase_commodity",
"erp_supplier_id",
"handler_id", "handler_id",
"opening_bank", "purchase_type"
"purchase_type",
"store_id"
], ],
"properties": { "properties": {
"account_holder": { "account_holder": {
"description": "收款人", "description": "收款人:入库必传",
"type": "string" "type": "string"
}, },
"bank_account": { "bank_account": {
"description": "银行卡号", "description": "银行卡号:入库必传",
"type": "string" "type": "string"
}, },
"delivery_address": { "delivery_address": {
"description": "交货地址", "description": "交货地址:入库必传",
"type": "string" "type": "string"
}, },
"delivery_time": { "delivery_time": {
"description": "交货日期", "description": "交货日期:入库必传",
"type": "string" "type": "string"
}, },
"erp_cashier_id": { "erp_cashier_id": {
@ -7896,7 +7897,7 @@ const docTemplate = `{
} }
}, },
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id:入库必传",
"type": "integer" "type": "integer"
}, },
"handler_id": { "handler_id": {
@ -7908,11 +7909,11 @@ const docTemplate = `{
"type": "string" "type": "string"
}, },
"opening_bank": { "opening_bank": {
"description": "开户行", "description": "开户行:入库必传",
"type": "string" "type": "string"
}, },
"purchase_order_sn": { "purchase_order_sn": {
"description": "采购退货订单号", "description": "采购退货订单号:出库必传",
"type": "string" "type": "string"
}, },
"purchase_type": { "purchase_type": {
@ -7924,7 +7925,7 @@ const docTemplate = `{
"type": "string" "type": "string"
}, },
"store_id": { "store_id": {
"description": "门店id", "description": "门店id:入库必传",
"type": "integer" "type": "integer"
} }
} }
@ -7956,32 +7957,27 @@ const docTemplate = `{
"models.ErpPurchaseEditReq": { "models.ErpPurchaseEditReq": {
"type": "object", "type": "object",
"required": [ "required": [
"bank_account",
"delivery_address",
"delivery_time",
"erp_cashier_id", "erp_cashier_id",
"erp_purchase_commodity", "erp_purchase_commodity",
"erp_purchase_order_id", "erp_purchase_order_id",
"erp_supplier_id", "handler_id",
"opening_bank", "purchase_type"
"purchase_type",
"store_id"
], ],
"properties": { "properties": {
"account_holder": { "account_holder": {
"description": "收款人", "description": "收款人:入库必传",
"type": "string" "type": "string"
}, },
"bank_account": { "bank_account": {
"description": "银行卡号", "description": "银行卡号:入库必传",
"type": "string" "type": "string"
}, },
"delivery_address": { "delivery_address": {
"description": "交货地址", "description": "交货地址:入库必传",
"type": "string" "type": "string"
}, },
"delivery_time": { "delivery_time": {
"description": "交货日期", "description": "交货日期:入库必传",
"type": "string" "type": "string"
}, },
"erp_cashier_id": { "erp_cashier_id": {
@ -8000,7 +7996,7 @@ const docTemplate = `{
"type": "integer" "type": "integer"
}, },
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id:入库必传",
"type": "integer" "type": "integer"
}, },
"handler_id": { "handler_id": {
@ -8012,11 +8008,11 @@ const docTemplate = `{
"type": "string" "type": "string"
}, },
"opening_bank": { "opening_bank": {
"description": "开户行", "description": "开户行:入库必传",
"type": "string" "type": "string"
}, },
"purchase_order_sn": { "purchase_order_sn": {
"description": "采购退货订单号", "description": "采购退货订单号:出库必传",
"type": "string" "type": "string"
}, },
"purchase_type": { "purchase_type": {
@ -8028,11 +8024,36 @@ const docTemplate = `{
"type": "string" "type": "string"
}, },
"store_id": { "store_id": {
"description": "门店id", "description": "门店id:入库必传",
"type": "integer" "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": { "models.ErpPurchaseExecuteResp": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -8114,6 +8135,14 @@ const docTemplate = `{
"description": "执行单价", "description": "执行单价",
"type": "number" "type": "number"
}, },
"inventory_id": {
"description": "最近入库人id",
"type": "integer"
},
"inventory_name": {
"description": "最近入库人名称",
"type": "string"
},
"purchase_type": { "purchase_type": {
"description": "采购类型:procure-采购 reject-退货", "description": "采购类型:procure-采购 reject-退货",
"type": "string" "type": "string"
@ -8129,6 +8158,8 @@ const docTemplate = `{
"required": [ "required": [
"erp_purchase_order_id", "erp_purchase_order_id",
"inventories", "inventories",
"inventory_id",
"inventory_name",
"purchase_type" "purchase_type"
], ],
"properties": { "properties": {
@ -8143,6 +8174,14 @@ const docTemplate = `{
"$ref": "#/definitions/models.ErpPurchaseInventory" "$ref": "#/definitions/models.ErpPurchaseInventory"
} }
}, },
"inventory_id": {
"description": "最近入库人id",
"type": "integer"
},
"inventory_name": {
"description": "最近入库人名称",
"type": "string"
},
"purchase_type": { "purchase_type": {
"description": "采购类型:procure-采购 reject-退货", "description": "采购类型:procure-采购 reject-退货",
"type": "string" "type": "string"
@ -8218,6 +8257,14 @@ const docTemplate = `{
"description": "数据库记录编号", "description": "数据库记录编号",
"type": "integer" "type": "integer"
}, },
"inventory_id": {
"description": "最近入库人id",
"type": "integer"
},
"inventory_name": {
"description": "最近入库人名称",
"type": "string"
},
"maker_id": { "maker_id": {
"description": "制单人id", "description": "制单人id",
"type": "integer" "type": "integer"
@ -8238,9 +8285,9 @@ const docTemplate = `{
"description": "类型:procure-采购 reject-退货", "description": "类型:procure-采购 reject-退货",
"type": "string" "type": "string"
}, },
"rejected_purchase_order_id": { "rejected_serial_number": {
"description": "退货采购订单id", "description": "退货的采购订单单据编号",
"type": "integer" "type": "string"
}, },
"remark": { "remark": {
"description": "备注", "description": "备注",
@ -8251,7 +8298,7 @@ const docTemplate = `{
"type": "string" "type": "string"
}, },
"state": { "state": {
"description": "1-待审核 2-待入库 3-待退货 4-已完成 5-已终止", "description": "1-待审核 2-待入库 3-待退货 4-已完成 5-已终止 6-入库中 7-退货中",
"type": "integer" "type": "integer"
}, },
"store_id": { "store_id": {
@ -8283,6 +8330,10 @@ const docTemplate = `{
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "integer"
}, },
"handler_id": {
"description": "经手人id",
"type": "integer"
},
"pageIndex": { "pageIndex": {
"description": "页码", "description": "页码",
"type": "integer" "type": "integer"
@ -8353,7 +8404,10 @@ const docTemplate = `{
}, },
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
}, },
"handler_id": { "handler_id": {
"description": "经手人id", "description": "经手人id",
@ -8385,7 +8439,10 @@ const docTemplate = `{
}, },
"store_id": { "store_id": {
"description": "门店id", "description": "门店id",
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
} }
} }
}, },
@ -8474,7 +8531,10 @@ const docTemplate = `{
}, },
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
}, },
"handler_id": { "handler_id": {
"description": "经手人id", "description": "经手人id",
@ -8506,7 +8566,10 @@ const docTemplate = `{
}, },
"store_id": { "store_id": {
"description": "门店id", "description": "门店id",
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
} }
} }
}, },
@ -8748,21 +8811,11 @@ const docTemplate = `{
"description": "入/出库,开始时间", "description": "入/出库,开始时间",
"type": "string" "type": "string"
}, },
"store_list": { "store_id": {
"description": "门店复选", "description": "门店id",
"type": "array", "type": "array",
"items": { "items": {
"type": "object", "type": "integer"
"properties": {
"store_id": {
"description": "门店id",
"type": "integer"
},
"store_name": {
"description": "门店名称",
"type": "string"
}
}
} }
} }
} }
@ -8812,6 +8865,10 @@ const docTemplate = `{
"description": "商品名称", "description": "商品名称",
"type": "string" "type": "string"
}, },
"erp_purchase_order_id": {
"description": "采购订单id",
"type": "integer"
},
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "integer"
@ -9045,7 +9102,7 @@ const docTemplate = `{
"type": "integer" "type": "integer"
}, },
"original_sn": { "original_sn": {
"description": "首次入库订单编号", "description": "首次入库订单编号(单据编号)",
"type": "string" "type": "string"
}, },
"remark": { "remark": {
@ -10797,6 +10854,10 @@ const docTemplate = `{
"description": "已执行数量", "description": "已执行数量",
"type": "integer" "type": "integer"
}, },
"erp_purchase_order_id": {
"description": "采购订单id",
"type": "integer"
},
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "integer"

View File

@ -2422,7 +2422,7 @@
"in": "body", "in": "body",
"required": true, "required": true,
"schema": { "schema": {
"$ref": "#/definitions/models.ErpPurchaseInventoryReq" "$ref": "#/definitions/models.ErpPurchaseExecuteReq"
} }
} }
], ],
@ -6696,6 +6696,10 @@
"description": "已执行数量", "description": "已执行数量",
"type": "integer" "type": "integer"
}, },
"erp_purchase_order_id": {
"description": "采购订单id",
"type": "integer"
},
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "integer"
@ -7071,8 +7075,12 @@
"description": "退货单价", "description": "退货单价",
"type": "number" "type": "number"
}, },
"rejected_remark": {
"description": "退货备注",
"type": "string"
},
"remark": { "remark": {
"description": "备注", "description": "销售备注",
"type": "string" "type": "string"
}, },
"retail_price": { "retail_price": {
@ -7844,33 +7852,26 @@
"models.ErpPurchaseCreateReq": { "models.ErpPurchaseCreateReq": {
"type": "object", "type": "object",
"required": [ "required": [
"account_holder",
"bank_account",
"delivery_address",
"delivery_time",
"erp_cashier_id", "erp_cashier_id",
"erp_purchase_commodity", "erp_purchase_commodity",
"erp_supplier_id",
"handler_id", "handler_id",
"opening_bank", "purchase_type"
"purchase_type",
"store_id"
], ],
"properties": { "properties": {
"account_holder": { "account_holder": {
"description": "收款人", "description": "收款人:入库必传",
"type": "string" "type": "string"
}, },
"bank_account": { "bank_account": {
"description": "银行卡号", "description": "银行卡号:入库必传",
"type": "string" "type": "string"
}, },
"delivery_address": { "delivery_address": {
"description": "交货地址", "description": "交货地址:入库必传",
"type": "string" "type": "string"
}, },
"delivery_time": { "delivery_time": {
"description": "交货日期", "description": "交货日期:入库必传",
"type": "string" "type": "string"
}, },
"erp_cashier_id": { "erp_cashier_id": {
@ -7885,7 +7886,7 @@
} }
}, },
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id:入库必传",
"type": "integer" "type": "integer"
}, },
"handler_id": { "handler_id": {
@ -7897,11 +7898,11 @@
"type": "string" "type": "string"
}, },
"opening_bank": { "opening_bank": {
"description": "开户行", "description": "开户行:入库必传",
"type": "string" "type": "string"
}, },
"purchase_order_sn": { "purchase_order_sn": {
"description": "采购退货订单号", "description": "采购退货订单号:出库必传",
"type": "string" "type": "string"
}, },
"purchase_type": { "purchase_type": {
@ -7913,7 +7914,7 @@
"type": "string" "type": "string"
}, },
"store_id": { "store_id": {
"description": "门店id", "description": "门店id:入库必传",
"type": "integer" "type": "integer"
} }
} }
@ -7945,32 +7946,27 @@
"models.ErpPurchaseEditReq": { "models.ErpPurchaseEditReq": {
"type": "object", "type": "object",
"required": [ "required": [
"bank_account",
"delivery_address",
"delivery_time",
"erp_cashier_id", "erp_cashier_id",
"erp_purchase_commodity", "erp_purchase_commodity",
"erp_purchase_order_id", "erp_purchase_order_id",
"erp_supplier_id", "handler_id",
"opening_bank", "purchase_type"
"purchase_type",
"store_id"
], ],
"properties": { "properties": {
"account_holder": { "account_holder": {
"description": "收款人", "description": "收款人:入库必传",
"type": "string" "type": "string"
}, },
"bank_account": { "bank_account": {
"description": "银行卡号", "description": "银行卡号:入库必传",
"type": "string" "type": "string"
}, },
"delivery_address": { "delivery_address": {
"description": "交货地址", "description": "交货地址:入库必传",
"type": "string" "type": "string"
}, },
"delivery_time": { "delivery_time": {
"description": "交货日期", "description": "交货日期:入库必传",
"type": "string" "type": "string"
}, },
"erp_cashier_id": { "erp_cashier_id": {
@ -7989,7 +7985,7 @@
"type": "integer" "type": "integer"
}, },
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id:入库必传",
"type": "integer" "type": "integer"
}, },
"handler_id": { "handler_id": {
@ -8001,11 +7997,11 @@
"type": "string" "type": "string"
}, },
"opening_bank": { "opening_bank": {
"description": "开户行", "description": "开户行:入库必传",
"type": "string" "type": "string"
}, },
"purchase_order_sn": { "purchase_order_sn": {
"description": "采购退货订单号", "description": "采购退货订单号:出库必传",
"type": "string" "type": "string"
}, },
"purchase_type": { "purchase_type": {
@ -8017,11 +8013,36 @@
"type": "string" "type": "string"
}, },
"store_id": { "store_id": {
"description": "门店id", "description": "门店id:入库必传",
"type": "integer" "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": { "models.ErpPurchaseExecuteResp": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -8103,6 +8124,14 @@
"description": "执行单价", "description": "执行单价",
"type": "number" "type": "number"
}, },
"inventory_id": {
"description": "最近入库人id",
"type": "integer"
},
"inventory_name": {
"description": "最近入库人名称",
"type": "string"
},
"purchase_type": { "purchase_type": {
"description": "采购类型:procure-采购 reject-退货", "description": "采购类型:procure-采购 reject-退货",
"type": "string" "type": "string"
@ -8118,6 +8147,8 @@
"required": [ "required": [
"erp_purchase_order_id", "erp_purchase_order_id",
"inventories", "inventories",
"inventory_id",
"inventory_name",
"purchase_type" "purchase_type"
], ],
"properties": { "properties": {
@ -8132,6 +8163,14 @@
"$ref": "#/definitions/models.ErpPurchaseInventory" "$ref": "#/definitions/models.ErpPurchaseInventory"
} }
}, },
"inventory_id": {
"description": "最近入库人id",
"type": "integer"
},
"inventory_name": {
"description": "最近入库人名称",
"type": "string"
},
"purchase_type": { "purchase_type": {
"description": "采购类型:procure-采购 reject-退货", "description": "采购类型:procure-采购 reject-退货",
"type": "string" "type": "string"
@ -8207,6 +8246,14 @@
"description": "数据库记录编号", "description": "数据库记录编号",
"type": "integer" "type": "integer"
}, },
"inventory_id": {
"description": "最近入库人id",
"type": "integer"
},
"inventory_name": {
"description": "最近入库人名称",
"type": "string"
},
"maker_id": { "maker_id": {
"description": "制单人id", "description": "制单人id",
"type": "integer" "type": "integer"
@ -8227,9 +8274,9 @@
"description": "类型:procure-采购 reject-退货", "description": "类型:procure-采购 reject-退货",
"type": "string" "type": "string"
}, },
"rejected_purchase_order_id": { "rejected_serial_number": {
"description": "退货采购订单id", "description": "退货的采购订单单据编号",
"type": "integer" "type": "string"
}, },
"remark": { "remark": {
"description": "备注", "description": "备注",
@ -8240,7 +8287,7 @@
"type": "string" "type": "string"
}, },
"state": { "state": {
"description": "1-待审核 2-待入库 3-待退货 4-已完成 5-已终止", "description": "1-待审核 2-待入库 3-待退货 4-已完成 5-已终止 6-入库中 7-退货中",
"type": "integer" "type": "integer"
}, },
"store_id": { "store_id": {
@ -8272,6 +8319,10 @@
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "integer"
}, },
"handler_id": {
"description": "经手人id",
"type": "integer"
},
"pageIndex": { "pageIndex": {
"description": "页码", "description": "页码",
"type": "integer" "type": "integer"
@ -8342,7 +8393,10 @@
}, },
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
}, },
"handler_id": { "handler_id": {
"description": "经手人id", "description": "经手人id",
@ -8374,7 +8428,10 @@
}, },
"store_id": { "store_id": {
"description": "门店id", "description": "门店id",
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
} }
} }
}, },
@ -8463,7 +8520,10 @@
}, },
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
}, },
"handler_id": { "handler_id": {
"description": "经手人id", "description": "经手人id",
@ -8495,7 +8555,10 @@
}, },
"store_id": { "store_id": {
"description": "门店id", "description": "门店id",
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
} }
} }
}, },
@ -8737,21 +8800,11 @@
"description": "入/出库,开始时间", "description": "入/出库,开始时间",
"type": "string" "type": "string"
}, },
"store_list": { "store_id": {
"description": "门店复选", "description": "门店id",
"type": "array", "type": "array",
"items": { "items": {
"type": "object", "type": "integer"
"properties": {
"store_id": {
"description": "门店id",
"type": "integer"
},
"store_name": {
"description": "门店名称",
"type": "string"
}
}
} }
} }
} }
@ -8801,6 +8854,10 @@
"description": "商品名称", "description": "商品名称",
"type": "string" "type": "string"
}, },
"erp_purchase_order_id": {
"description": "采购订单id",
"type": "integer"
},
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "integer"
@ -9034,7 +9091,7 @@
"type": "integer" "type": "integer"
}, },
"original_sn": { "original_sn": {
"description": "首次入库订单编号", "description": "首次入库订单编号(单据编号)",
"type": "string" "type": "string"
}, },
"remark": { "remark": {
@ -10786,6 +10843,10 @@
"description": "已执行数量", "description": "已执行数量",
"type": "integer" "type": "integer"
}, },
"erp_purchase_order_id": {
"description": "采购订单id",
"type": "integer"
},
"erp_supplier_id": { "erp_supplier_id": {
"description": "供应商id", "description": "供应商id",
"type": "integer" "type": "integer"

View File

@ -1267,6 +1267,9 @@ definitions:
count: count:
description: 已执行数量 description: 已执行数量
type: integer type: integer
erp_purchase_order_id:
description: 采购订单id
type: integer
erp_supplier_id: erp_supplier_id:
description: 供应商id description: 供应商id
type: integer type: integer
@ -1544,8 +1547,11 @@ definitions:
rejected_price: rejected_price:
description: 退货单价 description: 退货单价
type: number type: number
rejected_remark:
description: 退货备注
type: string
remark: remark:
description: 备注 description: 销售备注
type: string type: string
retail_price: retail_price:
description: 指导零售价 description: 指导零售价
@ -2105,16 +2111,16 @@ definitions:
models.ErpPurchaseCreateReq: models.ErpPurchaseCreateReq:
properties: properties:
account_holder: account_holder:
description: 收款人 description: 收款人:入库必传
type: string type: string
bank_account: bank_account:
description: 银行卡号 description: 银行卡号:入库必传
type: string type: string
delivery_address: delivery_address:
description: 交货地址 description: 交货地址:入库必传
type: string type: string
delivery_time: delivery_time:
description: 交货日期 description: 交货日期:入库必传
type: string type: string
erp_cashier_id: erp_cashier_id:
description: 付款方式 description: 付款方式
@ -2125,7 +2131,7 @@ definitions:
$ref: '#/definitions/models.ErpPurchaseCommodity' $ref: '#/definitions/models.ErpPurchaseCommodity'
type: array type: array
erp_supplier_id: erp_supplier_id:
description: 供应商id description: 供应商id:入库必传
type: integer type: integer
handler_id: handler_id:
description: 经手人id description: 经手人id
@ -2134,10 +2140,10 @@ definitions:
description: 经手人名称 description: 经手人名称
type: string type: string
opening_bank: opening_bank:
description: 开户行 description: 开户行:入库必传
type: string type: string
purchase_order_sn: purchase_order_sn:
description: 采购退货订单号 description: 采购退货订单号:出库必传
type: string type: string
purchase_type: purchase_type:
description: 采购类型procure-采购 reject-退货 description: 采购类型procure-采购 reject-退货
@ -2146,20 +2152,13 @@ definitions:
description: 备注 description: 备注
type: string type: string
store_id: store_id:
description: 门店id description: 门店id:入库必传
type: integer type: integer
required: required:
- account_holder
- bank_account
- delivery_address
- delivery_time
- erp_cashier_id - erp_cashier_id
- erp_purchase_commodity - erp_purchase_commodity
- erp_supplier_id
- handler_id - handler_id
- opening_bank
- purchase_type - purchase_type
- store_id
type: object type: object
models.ErpPurchaseDeleteReq: models.ErpPurchaseDeleteReq:
properties: properties:
@ -2180,16 +2179,16 @@ definitions:
models.ErpPurchaseEditReq: models.ErpPurchaseEditReq:
properties: properties:
account_holder: account_holder:
description: 收款人 description: 收款人:入库必传
type: string type: string
bank_account: bank_account:
description: 银行卡号 description: 银行卡号:入库必传
type: string type: string
delivery_address: delivery_address:
description: 交货地址 description: 交货地址:入库必传
type: string type: string
delivery_time: delivery_time:
description: 交货日期 description: 交货日期:入库必传
type: string type: string
erp_cashier_id: erp_cashier_id:
description: 付款方式 description: 付款方式
@ -2203,7 +2202,7 @@ definitions:
description: 采购订单id description: 采购订单id
type: integer type: integer
erp_supplier_id: erp_supplier_id:
description: 供应商id description: 供应商id:入库必传
type: integer type: integer
handler_id: handler_id:
description: 经手人id description: 经手人id
@ -2212,10 +2211,10 @@ definitions:
description: 经手人名称 description: 经手人名称
type: string type: string
opening_bank: opening_bank:
description: 开户行 description: 开户行:入库必传
type: string type: string
purchase_order_sn: purchase_order_sn:
description: 采购退货订单号 description: 采购退货订单号:出库必传
type: string type: string
purchase_type: purchase_type:
description: 采购类型procure-采购 reject-退货 description: 采购类型procure-采购 reject-退货
@ -2224,19 +2223,32 @@ definitions:
description: 备注 description: 备注
type: string type: string
store_id: store_id:
description: 门店id description: 门店id:入库必传
type: integer type: integer
required: required:
- bank_account
- delivery_address
- delivery_time
- erp_cashier_id - erp_cashier_id
- erp_purchase_commodity - erp_purchase_commodity
- erp_purchase_order_id - erp_purchase_order_id
- erp_supplier_id - handler_id
- opening_bank - 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 - purchase_type
- store_id
type: object type: object
models.ErpPurchaseExecuteResp: models.ErpPurchaseExecuteResp:
properties: properties:
@ -2295,6 +2307,12 @@ definitions:
implementation_price: implementation_price:
description: 执行单价 description: 执行单价
type: number type: number
inventory_id:
description: 最近入库人id
type: integer
inventory_name:
description: 最近入库人名称
type: string
purchase_type: purchase_type:
description: 采购类型:procure-采购 reject-退货 description: 采购类型:procure-采购 reject-退货
type: string type: string
@ -2314,12 +2332,20 @@ definitions:
items: items:
$ref: '#/definitions/models.ErpPurchaseInventory' $ref: '#/definitions/models.ErpPurchaseInventory'
type: array type: array
inventory_id:
description: 最近入库人id
type: integer
inventory_name:
description: 最近入库人名称
type: string
purchase_type: purchase_type:
description: 采购类型:procure-采购 reject-退货 description: 采购类型:procure-采购 reject-退货
type: string type: string
required: required:
- erp_purchase_order_id - erp_purchase_order_id
- inventories - inventories
- inventory_id
- inventory_name
- purchase_type - purchase_type
type: object type: object
models.ErpPurchaseOrder: models.ErpPurchaseOrder:
@ -2373,6 +2399,12 @@ definitions:
id: id:
description: 数据库记录编号 description: 数据库记录编号
type: integer type: integer
inventory_id:
description: 最近入库人id
type: integer
inventory_name:
description: 最近入库人名称
type: string
maker_id: maker_id:
description: 制单人id description: 制单人id
type: integer type: integer
@ -2388,9 +2420,9 @@ definitions:
purchase_type: purchase_type:
description: 类型:procure-采购 reject-退货 description: 类型:procure-采购 reject-退货
type: string type: string
rejected_purchase_order_id: rejected_serial_number:
description: 退货采购订单id description: 退货的采购订单单据编号
type: integer type: string
remark: remark:
description: 备注 description: 备注
type: string type: string
@ -2398,7 +2430,7 @@ definitions:
description: 单据编号 description: 单据编号
type: string type: string
state: state:
description: 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止 description: 1-待审核 2-待入库 3-待退货 4-已完成 5-已终止 6-入库中 7-退货中
type: integer type: integer
store_id: store_id:
description: 门店id description: 门店id
@ -2421,6 +2453,9 @@ definitions:
erp_supplier_id: erp_supplier_id:
description: 供应商id description: 供应商id
type: integer type: integer
handler_id:
description: 经手人id
type: integer
pageIndex: pageIndex:
description: 页码 description: 页码
type: integer type: integer
@ -2472,7 +2507,9 @@ definitions:
type: string type: string
erp_supplier_id: erp_supplier_id:
description: 供应商id description: 供应商id
type: integer items:
type: integer
type: array
handler_id: handler_id:
description: 经手人id description: 经手人id
type: integer type: integer
@ -2496,7 +2533,9 @@ definitions:
type: integer type: integer
store_id: store_id:
description: 门店id description: 门店id
type: integer items:
type: integer
type: array
type: object type: object
models.ErpPurchaseReportByCommodityResp: models.ErpPurchaseReportByCommodityResp:
properties: properties:
@ -2561,7 +2600,9 @@ definitions:
type: string type: string
erp_supplier_id: erp_supplier_id:
description: 供应商id description: 供应商id
type: integer items:
type: integer
type: array
handler_id: handler_id:
description: 经手人id description: 经手人id
type: integer type: integer
@ -2585,7 +2626,9 @@ definitions:
type: integer type: integer
store_id: store_id:
description: 门店id description: 门店id
type: integer items:
type: integer
type: array
type: object type: object
models.ErpPurchaseReportByOrderResp: models.ErpPurchaseReportByOrderResp:
properties: properties:
@ -2761,17 +2804,10 @@ definitions:
startTime: startTime:
description: 入/出库,开始时间 description: 入/出库,开始时间
type: string type: string
store_list: store_id:
description: 门店复选 description: 门店id
items: items:
properties: type: integer
store_id:
description: 门店id
type: integer
store_name:
description: 门店名称
type: string
type: object
type: array type: array
type: object type: object
models.ErpPurchaseReportDetailResp: models.ErpPurchaseReportDetailResp:
@ -2807,6 +2843,9 @@ definitions:
erp_commodity_name: erp_commodity_name:
description: 商品名称 description: 商品名称
type: string type: string
erp_purchase_order_id:
description: 采购订单id
type: integer
erp_supplier_id: erp_supplier_id:
description: 供应商id description: 供应商id
type: integer type: integer
@ -2979,7 +3018,7 @@ definitions:
description: 最低零售价 description: 最低零售价
type: integer type: integer
original_sn: original_sn:
description: 首次入库订单编号 description: 首次入库订单编号(单据编号)
type: string type: string
remark: remark:
description: 备注 description: 备注
@ -4236,6 +4275,9 @@ definitions:
count: count:
description: 已执行数量 description: 已执行数量
type: integer type: integer
erp_purchase_order_id:
description: 采购订单id
type: integer
erp_supplier_id: erp_supplier_id:
description: 供应商id description: 供应商id
type: integer type: integer
@ -7020,7 +7062,7 @@ paths:
name: request name: request
required: true required: true
schema: schema:
$ref: '#/definitions/models.ErpPurchaseInventoryReq' $ref: '#/definitions/models.ErpPurchaseExecuteReq'
produces: produces:
- application/json - application/json
responses: responses: