diff --git a/app/admin/models/erp_order.go b/app/admin/models/erp_order.go index 80b2e18..6cd694e 100644 --- a/app/admin/models/erp_order.go +++ b/app/admin/models/erp_order.go @@ -645,9 +645,11 @@ func (m *ErpOrderListReq) List(c *gin.Context) (*ErpOrderListResp, error) { func QueryListByScanCode(storeId uint32, scanCode, showConfig string, c *gin.Context) (*ErpOrderListResp, error) { resp := &ErpOrderListResp{} - // 查询扫码串码的零售销售订单的商品信息 + // 查询扫码串码的零售销售订单的商品信息,查询最近的零售订单;可能存在重复的情况:销售-退货-销售-退货-销售 + // 需保证:(1)退货退的是最近的零售订单,每个零售订单的售价可能不同;(2)已经退货的商品不能重复退(待修复); var commodity []ErpOrderCommodity - err := orm.Eloquent.Table("erp_order_commodity").Where("imei = ? and rejected_count = 0", scanCode).Find(&commodity).Error + //err := orm.Eloquent.Table("erp_order_commodity").Where("imei = ? and rejected_count = 0", scanCode).Find(&commodity).Error + err := orm.Eloquent.Table("erp_order_commodity").Where("imei = ? and rejected_count = 0", scanCode).Order("created_at DESC").Find(&commodity).Error if err != nil && err != RecordNotFound { logger.Error("get erp_order_commodity err:", logger.Field("err", err)) return resp, err @@ -714,7 +716,9 @@ func QueryListByScanCode(storeId uint32, scanCode, showConfig string, c *gin.Con erpOrderListSetCashier(orders) erpOrderListSetSalesman(orders) - orders[0].Commodities = commodity + //orders[0].Commodities = commodity + orders[0].Commodities = nil + orders[0].Commodities = append(orders[0].Commodities, commodity[0]) if len(orders) != 0 { // 查询该串码商品是否已经退过货 resp.List = append(resp.List, orders[0]) @@ -5141,7 +5145,7 @@ func queryRetailDetailCommon(req *ErpOrderRetailDetailReq, c *gin.Context) (*Erp if req.CashierId != 0 { // 支付方式 qs = qs.Where("JSON_CONTAINS(cashier_list, ?)", fmt.Sprintf(`{"cashier_id":%d}`, req.CashierId)) - qs = qs.Where("retail_type=?", RetailTypeSale) + //qs = qs.Where("retail_type=?", RetailTypeSale) //totalPerQs = totalPerQs.Where("erp_order_pay_way.cashier_id = ?", req.CashierId) } if req.StartTime != "" { // 审核开始时间