1.修改采购订单相关缺陷;
This commit is contained in:
parent
d6b993d23e
commit
fcf0f41bcf
|
@ -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"), "参数错误")
|
||||||
|
|
|
@ -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:"-"` // 最近库龄
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
171
docs/docs.go
171
docs/docs.go
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user