1、零售明细优化,筛选支付方式不再限制为零售销售订单;

2、零售退货优化;通过扫描串码查询列表时查询最近的销售订单数据;已经退货的商品不能重复退(待修复);
This commit is contained in:
chenlin 2024-11-27 11:15:39 +08:00
parent 5418dab8c5
commit c1729db5f4

View File

@ -645,9 +645,10 @@ 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).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 +715,8 @@ func QueryListByScanCode(storeId uint32, scanCode, showConfig string, c *gin.Con
erpOrderListSetCashier(orders)
erpOrderListSetSalesman(orders)
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])
@ -5111,7 +5113,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 != "" { // 审核开始时间