選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

StoreDocket.php 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace App\Jobs;
  3. use Illuminate\Bus\Queueable;
  4. use Illuminate\Queue\SerializesModels;
  5. use Illuminate\Queue\InteractsWithQueue;
  6. use Illuminate\Contracts\Queue\ShouldQueue;
  7. use Illuminate\Foundation\Bus\Dispatchable;
  8. use Illuminate\Http\Request;
  9. use App\Staff;
  10. use App\Model\StaffDetail;
  11. use App\Model\Docket;
  12. use App\Model\WorkOrder;
  13. use App\Model\Company;
  14. use App\Model\Form;
  15. use App\Model\PackageDetail;
  16. use App\Model\Subscriber;
  17. use App\Model\FormStatus;
  18. use Carbon\Carbon;
  19. class StoreDocket implements ShouldQueue
  20. {
  21. use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  22. protected $request, $do, $nature_work, $staff, $signature;
  23. /**
  24. * Create a new job instance.
  25. *
  26. * @return void
  27. */
  28. public function __construct(array $request, $do, $nature_work, $staff, $signature)
  29. {
  30. //
  31. $this->request = $request;
  32. $this->do = $do;
  33. $this->nature_work = $nature_work;
  34. $this->staff = $staff;
  35. $this->signature = $signature;
  36. }
  37. /**
  38. * Execute the job.
  39. *
  40. * @return void
  41. */
  42. public function handle(Docket $docket)
  43. {
  44. $note = '';
  45. $mac_router ='';
  46. $type_testing ='';
  47. if(isset($this->request['Note']) || ($this->request['mac_router']) || ($this->request['type_testing'])){
  48. $note = $this->request['Note'];
  49. $mac_router = $this->request['mac_router'];
  50. $type_testing = $this->request['type_testing'];
  51. }
  52. $docket->work_order_id = $this->request['wo'];
  53. $docket->docket_id = $this->do;
  54. $docket->nature_work = $this->nature_work;
  55. $docket->installer_id = $this->staff;
  56. $docket->end_job = Carbon::now()->toDateTimeString();
  57. $docket->router_serial_number = $this->request['router_serial_number'];
  58. $docket->mac_router = $mac_router;
  59. $docket->cable_read = $this->request['cable_read'];
  60. $docket->condition = $this->request['condition'];
  61. $docket->type_testing = $type_testing;
  62. $docket->Note = $note;
  63. $docket->Rating1 = $this->request['Rating1'];
  64. $docket->Rating2 = $this->request['Rating2'];
  65. $docket->Rating3 = $this->request['Rating3'];
  66. $docket->modem_sn = $this->request['modem_sn'];
  67. $docket->customer_signature = $this->signature;
  68. $work_order = WorkOrder::where('wo',$this->request['wo'])->first();
  69. $work_order->docket()->save($docket);
  70. $work_order->status = 'Completed';
  71. $work_order->docket_id = $this->do;
  72. $work_order->save();
  73. $fm = Form::where('_id',$work_order->_id)->first();
  74. $stat = new FormStatus();
  75. $stat->form_id = $fm->_id;
  76. $stat->status_id = 8;
  77. $stat->date = new \MongoDB\BSON\UTCDateTime(time()*1000);
  78. $stat->status = 'Completed';
  79. $stat->desc = 'This work order already been completed';
  80. $fm->formstatus()->save($stat);
  81. }
  82. }