You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter 4 POS系统跨午夜时段日销售数据查询失败

解决跨午夜营业的日销售数据查询问题

问题分析

你的代码当前未接收指定查询日期,直接使用当前日期生成营业时间范围,导致无法查询特定营业日(如2023-01-05的营业时段:14:00至次日03:00)的完整数据,同时需确保时间范围生成逻辑正确适配跨天场景。

修复方案

1. 修改控制器:支持指定营业日期查询

更新getdailySales方法,新增查询日期参数,生成正确的跨天时间范围:

//Daily Sales
public function getdailySales()
{
    // 获取查询日期,默认取当前日期(可选)
    $queryDate = $this->request->getGet('date') ?? date('Y-m-d');
    
    $settings = $this->settingsModel->where('user_id', $this->tenantId->tenant_id)->first();
    $openingTime = $settings['opening_time']; // 确保格式为 "14:00:00"
    $closingTime = $settings['closing_time']; // 确保格式为 "03:00:00"

    // 生成营业日开始时间:查询日期 + 开门时间
    $ot = date('Y-m-d H:i:s', strtotime($queryDate . ' ' . $openingTime));
    // 生成营业日结束时间:查询日期+1天 + 关门时间
    $ct = date('Y-m-d H:i:s', strtotime($queryDate . ' +1 day ' . $closingTime));
    
    $data = $this->transactionsModel->getdailySalesByTenant($this->tenantId->tenant_id, $ot, $ct);
    $response = [
            'success' => true,
            'data' => $data,
    ];
    return $this->response->setJSON($response);
}

2. 模型代码验证(无需修改,确保逻辑正确)

模型中的时间范围查询逻辑本身正确,只要传入的$ot和$ct是正确的跨天时间(如2023-01-05 14:00:00 至 2023-01-06 03:00:00),就能覆盖整个营业时段的数据:

//Get Daily Sales For Tenant ID - By Specific Opening/Closing time
public function getdailySalesByTenant($t, $ot, $ct)
{
    $builder = $this->db->table('orders as o');
    $builder->select('o.*, u.first_name as waiter');
    $builder->join('users as u', 'u.id = o.sold_by', 'left');
    $builder->where('o.tenant_id', $t);
    $builder->where('o.created_at >=', $ot); 
    $builder->where('o.created_at <=', $ct);
    return $builder->get()->getResult();
}

3. 使用示例

查询2023-01-05的营业数据,请求接口时携带date参数:

GET /your-controller-path/getdailySales?date=2023-01-05

接口会自动生成时间范围2023-01-05 14:00:00到2023-01-06 03:00:00,返回该时段内的所有销售订单。

注意事项

  • 确保settings表中存储的opening_time和closing_time为标准时分秒格式(如"14:00:00"、"03:00:00")。
  • 数据库中created_at字段需为datetime或timestamp类型,保证时间比较的准确性。

内容的提问来源于stack exchange,提问作者lwegaba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 21:25:16