您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

ClaimedController.php 3.1KB

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