WorkOrderLogService.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace App\Services;
  3. use App\Traits\ServiceAppAop;
  4. use App\WorkOrderDetail;
  5. use App\WorkOrderLog;
  6. use Illuminate\Support\Facades\Auth;
  7. class WorkOrderLogService
  8. {
  9. use ServiceAppAop;
  10. protected $modelClass = WorkOrderLog::class;
  11. /**
  12. * @param WorkOrderDetail $detail
  13. * @param $type
  14. * @param $content
  15. */
  16. public function createLog(WorkOrderDetail $detail, $type, $content)
  17. {
  18. $user = Auth::user();
  19. $log = new WorkOrderLog([
  20. 'work_order_id' => $detail->work_order_id ?? '',
  21. 'work_order_detail_id' => $detail->id ?? '',
  22. 'type' => $type,
  23. 'creator_id' => $user['id'] ?? '',
  24. 'content' => $content,
  25. 'tag' => 0,
  26. ]);
  27. $log->save();
  28. }
  29. /**
  30. * @param WorkOrderDetail $detail
  31. */
  32. public function undoneTag(WorkOrderDetail $detail)
  33. { // 标记为未完成历史标记
  34. $detail->logs()->update(['tag' => 2]);
  35. }
  36. /**
  37. * @param WorkOrderDetail $detail
  38. */
  39. public function endDetail(WorkOrderDetail $detail)
  40. { // 标记为完成
  41. $detail->logs()->update(['tag' => 1]);
  42. }
  43. }