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.8KB

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