WorkOrderProcessLogService.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace App\Services;
  3. use App\Traits\ServiceAppAop;
  4. use App\WorkOrderProcessLog;
  5. use Illuminate\Support\Facades\Auth;
  6. class WorkOrderProcessLogService
  7. {
  8. use ServiceAppAop;
  9. protected $modelClass = WorkOrderProcessLog::class;
  10. public function hasLogisticProcessLog($workOrderId): bool
  11. {
  12. return WorkOrderProcessLog::query()
  13. ->where('work_order_id', $workOrderId)
  14. ->where('type', '2')->exists();
  15. }
  16. public function hasBaoShiProcessLog($workOrderId): bool
  17. {
  18. return WorkOrderProcessLog::query()
  19. ->where('work_order_id', $workOrderId)
  20. ->where('type', '1')->exists();
  21. }
  22. public function createLogisticProcessLog($params)
  23. {
  24. $params['creator_id'] = Auth::user()['id'];
  25. $params['type'] = '2';
  26. // 赔偿方
  27. if ($params['is_indemnity'] == '1') $params['indemnitor'] = '2';
  28. else $params['indemnitor'] = '1';
  29. $log = WorkOrderProcessLog::query()->create($params);
  30. $log->workOrder()->update(['work_order_status' => '3']);
  31. $log->loadMissing('creator');
  32. return $log;
  33. }
  34. public function createBaoShiProcessLog($params)
  35. {
  36. $params['creator_id'] = Auth::user()['id'];
  37. $params['type'] = 1;
  38. $log = WorkOrderProcessLog::query()->create($params);
  39. $log->loadMissing('creator');
  40. return $log;
  41. }
  42. }