| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- namespace App\Http\Controllers\api\thirdPart\hengli;
- use App\Http\Controllers\Controller;
- use App\OrderIssue;
- use App\OrderPackage;
- use App\Services\OrderIssueService;
- use App\Services\WorkOrderService;
- use App\WorkOrder;
- use Illuminate\Http\Request;
- class OrderIssueController extends Controller
- {
- public function checkInterceptPackage(Request $request): array
- {
- /** @var WorkOrderService $workOrderService */
- $workOrderService = app(WorkOrderService::class);
- /** @var OrderIssueService $workOrderService */
- $orderIssueService = app(OrderIssueService::class);
- $logisticNumber = $request['expressCode'] ?? null;
- if ($workOrderService->isIntercept($logisticNumber) || $workOrderService->isExists($logisticNumber)) {
- // 显示在问题件已拦截
- $orderIssueService->intercept($logisticNumber);
- return ['success' => 'true','data'=> true];
- }
- return ['success' => 'true','data'=> false];
- }
- public function interceptExpressCodes(): array
- {
- $interceptExpressCodes = [];
- $orderIssueQuery = OrderIssue::query()
- ->select("order_id")
- ->where('order_issue_type_id',1)
- ->where(function ($query) {
- $query->whereNotIn('order_issues.final_status', ['已解决', '已归档'])
- ->orWhereNull('order_issues.final_status');
- });
- $orderPackages = OrderPackage::query()
- ->select('logistic_number')
- ->whereIn('order_id',$orderIssueQuery)
- ->get();
- foreach ($orderPackages as $orderPackage){
- $interceptExpressCodes[] = $orderPackage->logistic_number;
- }
- $workOrderQuery = WorkOrder::query()
- ->select("order_id")
- ->where('order_issue_type_id',1)
- ->where('status','!=',5);
- $orderPackages = OrderPackage::query()
- ->select('logistic_number')
- ->whereIn('order_id',$workOrderQuery)
- ->get();
- foreach ($orderPackages as $orderPackage){
- $interceptExpressCodes[] = $orderPackage->logistic_number;
- }
- return array_values(array_unique($interceptExpressCodes));
- }
- }
|