erp/app/Filters/BusinessOrderFilter.php

99 lines
2.4 KiB
PHP
Raw Permalink Normal View History

2023-04-03 15:41:14 +08:00
<?php
namespace App\Filters;
2023-07-26 13:58:52 +08:00
use App\Models\BusinessOrderItem;
use Carbon\Carbon;
2023-09-08 15:40:12 +08:00
use Illuminate\Database\Eloquent\Builder;
2023-07-26 13:58:52 +08:00
2023-04-03 15:41:14 +08:00
class BusinessOrderFilter extends Filters
{
2023-08-15 17:58:56 +08:00
protected function ids($value)
{
return $this->builder->whereIn('id', $value);
}
2023-04-03 15:41:14 +08:00
protected function participateNo($value)
{
2023-04-17 18:56:59 +08:00
return $this->builder->where('participate_no', trim($value));
2023-04-03 15:41:14 +08:00
}
2023-05-19 21:19:49 +08:00
protected function supplyParticipateNo($value)
{
return $this->builder->where('supply_participate_no', trim($value));
}
2023-09-08 15:40:12 +08:00
protected function pno($value)
{
return $this->builder->where(function (Builder $builder) use ($value) {
$builder->where('participate_no', $value)
->orWhere('supply_participate_no', $value);
});
}
2023-04-03 15:41:14 +08:00
protected function shopId($value)
{
2023-04-17 18:56:59 +08:00
return $this->builder->where('shop_id', $value);
2023-04-03 21:42:57 +08:00
}
protected function activityNo($value)
{
2023-04-17 18:56:59 +08:00
return $this->builder->where('activity_no', $value);
2023-04-03 21:42:57 +08:00
}
protected function shippingStatus($value)
{
2023-04-17 18:56:59 +08:00
return $this->builder->where('shipping_status', $value);
2023-04-03 21:42:57 +08:00
}
protected function isSupplier($value)
{
2023-04-17 18:56:59 +08:00
return $this->builder->where('is_supplier', $value);
2023-04-03 21:42:57 +08:00
}
protected function cancelStatus($value)
{
2023-04-17 18:56:59 +08:00
return $this->builder->where('cancel_status', $value);
2023-04-03 21:42:57 +08:00
}
protected function afterSalesStatus($value)
{
2023-04-17 18:56:59 +08:00
return $this->builder->where('after_sales_status', $value);
2023-04-03 15:41:14 +08:00
}
2023-07-26 13:58:52 +08:00
protected function confirmAtStart($value)
{
$start = Carbon::parse($value)->timestamp;
$start *= 1000;
return $this->builder->where('confirm_at', '>=', $start);
}
protected function confirmAtEnd($value)
{
$end = Carbon::parse($value)->timestamp;
$end *= 1000;
return $this->builder->where('confirm_at', '<=', $end);
}
protected function goodsSkuNum($value)
{
if (1 === $value) {
return $this->builder->where('goods_sku_num', '=', 1);
}
if (2 === $value) {
return $this->builder->where('goods_sku_num', '<=', 5)
->where('goods_sku_num', '>=', 2);
}
if (6 === $value) {
return $this->builder->where('goods_sku_num', '>=', 6);
}
}
protected function printStatus($value)
{
return $this->builder->where('print_status', $value);
}
2023-04-03 15:41:14 +08:00
}