Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 28
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
PickingOrderProgressReportService
0.00% covered (danger)
0.00%
0 / 28
0.00% covered (danger)
0.00%
0 / 2
6
0.00% covered (danger)
0.00%
0 / 1
 adminUser
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
2
 separatorUser
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace Domain\PickingOrder\Reports;
4
5use App\Events\ServiceProcessed;
6use App\Helper\AppHelper;
7use App\Models\PickingOrder\PickingOrder;
8use App\Models\StockIO\StockIO;
9use App\Models\User;
10use Carbon\Carbon;
11use Domain\PickingOrder\DTOs\PickingOrderSearchDTO;
12use Domain\PickingOrder\Resources\PickingOrderResource;
13use Domain\Shared\Integrations\Senior\Exceptions\IntegrationSoapSeniorException;
14use Domain\Shared\Integrations\Senior\SeniorPreOrder;
15use Domain\StockIO\DTOs\SeniorPreOrderDTO;
16use Illuminate\Support\Facades\Auth;
17
18class PickingOrderProgressReportService
19{
20    /**
21     * @param PickingOrderSearchDTO $pickingOrderSearchDTO
22     * @param User $user
23     * @return
24     */
25    public function adminUser(PickingOrderSearchDTO $pickingOrderSearchDTO, User $user)
26    {
27        $builder = PickingOrder::visibleToCurrentUser()
28            ->search($pickingOrderSearchDTO, 'or')
29            ->with([
30                'pauses'
31            ])
32            ->join('integrations', function ($join) {
33                $join->on('stock_ios.id', '=', 'integrations.integrable_id')
34                    ->where('integrations.integrable_type', '=', StockIO::class);
35            })
36            ->orderByRaw("COALESCE(picking_orders.start_date, (integrations.parameters->>'PRVFAT')::DATE) asc")
37            ->select('picking_orders.*');
38
39        return PickingOrderResource::collection(
40            $builder->get(),
41        );
42    }
43
44    /**
45     * @param PickingOrderSearchDTO $pickingOrderSearchDTO
46     * @param User $user
47     * @return
48     */
49    public function separatorUser(PickingOrderSearchDTO $pickingOrderSearchDTO, User $user)
50    {
51        $builder = PickingOrder::visibleToCurrentUser()
52            ->search($pickingOrderSearchDTO, 'or')
53            ->with([
54                'pauses'
55            ])
56            ->join('integrations', function ($join) {
57                $join->on('stock_ios.id', '=', 'integrations.integrable_id')
58                    ->where('integrations.integrable_type', '=', StockIO::class);
59            })
60            ->orderByRaw("COALESCE(picking_orders.start_date, (integrations.parameters->>'PRVFAT')::DATE) asc")
61            ->select('picking_orders.*');
62
63        return PickingOrderResource::collection(
64            $builder->get(),
65        );
66    }    
67}