| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <?php
-
- namespace App\Http\Controllers\v3\Api;
-
- use Illuminate\Http\Request;
- use App\Http\Controllers\v3\Api\BaseController;
-
- use Config;
- use File;
- use Carbon\Carbon;
-
- use App\LatestModel\Staff;
- use App\LatestModel\StaffDetail;
- use App\LatestModel\Module\Form;
- use App\LatestModel\Module\FormStatus;
- use App\LatestModel\Module\Subscriber;
- use App\LatestModel\Module\WorkOrder;
- use App\LatestModel\Module\Docket;
- use App\LatestModel\Module\PackageDetail;
- use App\LatestModel\Module\Company;
- use App\LatestModel\Module\Coverage;
- use App\LatestModel\Module\Product;
-
- class FormController extends BaseController
- {
- public function storeFormDataResidential(Request $request){
-
- $su_id = ''; $pathIconF = ''; $pathIconB = ''; $pathVisaF = ''; $pathVisaB = '';
-
- do {
- $su_id = strtoupper('CBB-'.$this->random_code(6).'R');
- } while (Subscriber::where("subscriber_id", "=", $su_id)->first() instanceof Subscriber);
-
-
- $destinationPath = 'document/'.$su_id;
- // create folder/dir if not exist
- if(!File::exists(public_path().'/'.$destinationPath)){
- File::makeDirectory(public_path().'/'.$destinationPath,0777,true);
- }
-
- $uploaded = public_path().'/'.$destinationPath;
- // Signature
- $signature_form = $request->cuss_signature;
- $signature_form = str_replace('data:image/jpeg;base64,','',$signature_form);
- $signature_form = str_replace('','+',$signature_form);
- //convert signature_form
- $data = base64_decode($signature_form);
- $file = $uploaded."/signature_form.jpg";
- $savetoServer = file_put_contents($file,$data);
-
- if (($savetoServer === false) || ($savetoServer == -1)) {
- print "Couldn't save signature to jpeg";
- }else {
-
- if($request->hasfile('front_ic')){
-
- $icon = $request->file('front_ic');
- $icon->move($destinationPath,'frontic.'.$icon->getClientOriginalExtension());
- $pathIconF = '/'.$destinationPath.'/frontic.'.$icon->getClientOriginalExtension();
- }
-
- if($request->hasfile('back_ic')){
-
- $icon = $request->file('back_ic');
- $icon->move($destinationPath,'backic.'.$icon->getClientOriginalExtension());
- $pathIconB = '/'.$destinationPath.'/backic.'.$icon->getClientOriginalExtension();
- }
-
- if($request->hasfile('visaF')){
-
- $icon = $request->file('visaF');
- $icon->move($destinationPath,'visaF.'.$icon->getClientOriginalExtension());
- $pathVisaF = '/'.$destinationPath.'/visaF.'.$icon->getClientOriginalExtension();
- }
-
- if($request->hasfile('visaB')){
-
- $icon = $request->file('visaB');
- $icon->move($destinationPath,'visaB.'.$icon->getClientOriginalExtension());
- $pathVisaB = '/'.$destinationPath.'/visaB.'.$icon->getClientOriginalExtension();
- }
-
- // staff
- $staff = Staff::with('StaffDetail')->where('_id',$request->dealer_id)->first();
- if(!empty($staff)){
- $sl = new Form();
- $sl->type_service = $request->application;
- $sl->type_application = 'R';
- $sl->status_payment = 'paid';
- $sl->status_email = 'unverified';
- $sl->remark_form = '';
- $sl->dealer_id = $request->dealer_id;
- $sl->company_id = $staff->StaffDetail->company_id;
- $sl->status_form = 'Draft';
-
- $staff->form()->save($sl);
- $coverage = Coverage::where('_id',$request->coverage)->first();
- $product = Product::where('formT','R')->where('package_name',$request->package)->first();
-
- $sdl = new Subscriber();
- $sdl->subscriber_id = $su_id;
- $sdl->name = $request->name;
- $sdl->ic = $request->nric_passport;
- $sdl->citizen = $request->citizenship;
- $sdl->gender = $request->gender;
- $sdl->race = $request->race;
- $sdl->email = $request->email;
- $sdl->phone1 = $request->contact_primary;
- $sdl->phone2 = $request->contact_secondary;
- $sdl->unit_no = $request->unit;
- $sdl->building_name = $coverage->building_name;
- $sdl->street = $request->street;
- $sdl->postcode = $coverage->postcode;
- $sdl->city = $coverage->city;
- $sdl->state = $coverage->state;
- $sdl->front_ic = $pathIconF;
- $sdl->back_ic = $pathIconB;
- $sdl->visaF = $pathVisaF;
- $sdl->visaB = $pathVisaB;
- $sdl->signature = '/'.$destinationPath.'/signature_form.jpg';
-
- $packageD = new PackageDetail();
- $packageD->contract = $request->subscription;
- $packageD->name = $product->speed;
- $packageD->montly_fee = $request->gst;
- $packageD->voice_fee = $request->voice;
- $packageD->deposit = $request->deposit;
- $packageD->upfront_payment = $request->otc;
- $packageD->rfs = $request->rfs;
-
- $sl->subscriber()->save($sdl);
- $sl->packagedetail()->save($packageD);
-
- $f_id = $this->sendInvoice($su_id);
- $stat = new FormStatus();
- $stat->form_id = $f_id;
- $stat->status_id = 1;
- $stat->date = new \MongoDB\BSON\UTCDateTime(time()*1000);
- $stat->status = 'Sumbitted';
- $stat->desc = 'The form already been submit';
- $sl->formstatus()->save($stat);
-
- $url = url('residential/application-form/success-submit');
- return response()->json($response);
- }
- }
- }
- }
|