You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ClaimedController.php 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace App\Http\Controllers\API;
  3. use App\Http\Controllers\Api\BaseController;
  4. use Illuminate\Support\Facades\Auth;
  5. Use App\Model\DealerClaim;
  6. Use App\Model\Docket;
  7. Use App\Model\WorkOrder;
  8. use App\Model\StaffDetail;
  9. use App\Model\Company;
  10. use Carbon\Carbon;
  11. class ClaimedController extends BaseController
  12. {
  13. /***********************************
  14. /* API to get claimed data
  15. ***********************************/
  16. public function get_data_claim(){
  17. $id = Auth::guard('cs')->id();
  18. $user = Staff::with('StaffDetail')->find($id);
  19. $dateS = Carbon::createFromFormat('Y-m-d', '2020-01-01');
  20. $start = $dateS->copy()->startOfDay();
  21. $dateE = Carbon::createFromFormat('Y-m-d', '2020-12-31');
  22. $end = $dateE->copy()->endOfDay();
  23. $result = array();
  24. $data = DealerClaim::with('Subscriber','Staff')->whereBetween('created_at', array($start, $end))->get();
  25. if(count($data) > 0) {
  26. foreach($data as $f) {
  27. $name = ''; $contact_no = ''; $building = '';
  28. $labelD = ''; $service = ''; $rating = '';
  29. $installer_name =''; $contractor_name=''; $submitted_date='';
  30. if(!empty($f->dealer)){
  31. $c = Company::find($f->dealer);
  32. $labelD = $c->name;
  33. }else{
  34. $labelD = "";
  35. }
  36. if(!empty($f->wo)){
  37. $wo = WorkOrder::where('wo',$f->wo)->get();
  38. foreach($wo as $wo) {
  39. $installer = StaffDetail::where('_id',$wo->installer_id)->get();
  40. foreach($installer as $installer) {
  41. $installer_name = $installer->name;
  42. }
  43. $contractor = Company::where('_id',$wo->contractor_id)->get();
  44. foreach($contractor as $contractor) {
  45. $contractor_name = $contractor->name;
  46. }
  47. }
  48. }
  49. if(!empty($f->Subscriber)){
  50. if($f->formT == 'R'){
  51. $name = $f->Subscriber->name;
  52. $contact_no = $f->Subscriber->phone1;
  53. $building = $f->Subscriber->building_name;
  54. }else if($f->formT == 'B'){
  55. $name = $f->Subscriber->company_name;
  56. $contact_no = $f->Subscriber->company_num;
  57. $building = $f->Subscriber->street;
  58. }
  59. if(!empty($f->docket)){
  60. $docket = Docket::where('docket_id',$f->docket)->get();
  61. foreach($docket as $d) {
  62. $service = $d->nature_work;
  63. $rating = $d->Rating1;
  64. $submitted_date = $d->end_job;
  65. }
  66. }
  67. array_push($result,array(
  68. "Dealer Name" => $labelD,
  69. "Installer Name" => $installer_name,
  70. "Contractor Name" => $contractor_name,
  71. "Customer Name"=> $name,
  72. "Contact Number"=> $contact_no,
  73. "Completion Date" => $f->activated_dt,
  74. "Form Type" => $f->formT,
  75. "Package"=> $f->package,
  76. "WO No" => $f->wo,
  77. "DO No" => $f->docket,
  78. "Service Type" => $service,
  79. "Building"=> $building,
  80. "Rating" => $rating,
  81. "Claim Amount" => $f->total_claim,
  82. "Submitted Date" => $submitted_date,
  83. ));
  84. }
  85. }
  86. }
  87. return json_encode($result);
  88. }
  89. }