���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
repositories
/
cutunix
/
app
/
Helpers
/
HelperClass
/
Viewing: GeneralUse.php
<?php namespace App\Helpers\HelperClass; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Validator; use function App\Helpers\pathReturn; use function App\Helpers\destroyFile; use function App\Helpers\toEnDigit; use function App\Helpers\slug; use App\Models\Factor; use App\Models\PaymentServices; use App\Models\FactorRow; use App\Models\Order; use App\Models\OrderGroup; use App\Models\OrderSlice; use App\Models\Kol; use App\Models\Moeen; use App\Models\Detailed; use App\Models\Product; use Carbon\Carbon; use PDF; use DB; use App\Models\UserMachinery; use App\Models\UserServices; use App\Models\Message; use App\Models\Document; use App\Models\FinancialCheck; use App\Models\DocumentRow; use App\Models\TypeProductAttr; use App\Models\ProductAttr; class GeneralUse { public static function create_product_attr($product=null,$formData=null) { $inserts=[]; $attr = TypeProductAttr::where('type_id',$product->type_id)->get(); if(0 < count($attr)){ foreach ($attr as $value) { if(isset($formData[$value->name]) && $formData[$value->name]){ $key= $value->name; $val= $formData[$value->name]; $inserts[]=[ 'key'=>$key, 'val'=>$val, 'product_id'=>$product->id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; } } if(0 < count($inserts)){ ProductAttr::insert($inserts); } } } public static function send_push_massage($firebaseToken=[],$title=null,$body=null) { $SERVER_API_KEY = 'AAAA1thROI4:APA91bEk3SJYm8nXp3OL-CbVn1UJAXUktqZuE63A__PPcnoU3uu1AiUJ88KYkQuRWviZmbA1TaLvEdzm_ox0Iv7Jy9k3rElqINQgIqi1YD-3nAgrtPaKu_vR1dGvzWSNXiTVcGsGaeQ-'; $data = [ "registration_ids" => $firebaseToken, "notification" => [ "title" => $title, "body" => $body, ] ]; $dataString = json_encode($data); $headers = [ 'Authorization: key=' . $SERVER_API_KEY, 'Content-Type: application/json', ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $dataString); return $response = curl_exec($ch); // dd($response); } public static function make_columns($type_id,$count,$formData) { $inserts=[]; for ($i=1; $i <= $count; $i++) { if($formData['label_'.$i] && $formData['name_'.$i]){ $label= $formData['label_'.$i]; $name= slug($formData['name_'.$i]); $inserts[]=[ 'label'=>$label, 'name'=>$name, 'type_id'=>$type_id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; } } if(0 < count($inserts)){ //insert-data TypeProductAttr::insert($inserts); } } public static function submitControl($code,$name,$des) { $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'http://productioncontrol.pellehpich2.ir/api/ApiProject/CreateProject?Name='.$name.'&Code='.$code.'&Des='.$des, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Accept: application/json' ), )); $response = curl_exec($curl); curl_close($curl); } public static function makeReceipt($document_id,$filesystem) { $document=Document::where('id',$document_id)->with(['check','order','from','to'])->first(); if($document->receipt){ destroyFile($document->receipt,$filesystem); } $data=['document'=>$document]; $path_all=pathReturn($filesystem,'receipt','receipt'); $path_pdf=$path_all[0]; $address_pdf=$path_all[1]; PDF::loadView('receipt', $data, [], [ 'format' => 'A5' ])->save($path_pdf); Document::where('id',$document_id)->update([ 'receipt'=>$address_pdf, ]); } public static function makeSingleDocument($formData,$order_id=null,$services_id,$type=null) { $check=null; $factor_id=null; if($formData['factor_id']){ $factor_id=$formData['factor_id']; } if($formData['type'] == 'update'){ $check=Document::where('factor_id',$factor_id)->first(); } if($check){ Document::where('id',$check->id)->update([ 'sum_bes'=>$formData['price'], 'sum_bed'=>$formData['price'], 'type'=>$type, 'diffrent_price'=>0, 'date'=>$formData['date'], 'from_id'=>$formData['from_id'], 'to_id'=>$formData['to_id'], 'order_id'=>$order_id, 'user_id'=>$services_id, ]); return $check->id; }else{ $factor_id=null; if($formData['factor_id']){ $factor_id=$formData['factor_id']; } $document=Document::create([ 'sum_bes'=>$formData['price'], 'sum_bed'=>$formData['price'], 'type'=>$type, 'diffrent_price'=>0, 'date'=>$formData['date'], 'from_id'=>$formData['from_id'], 'to_id'=>$formData['to_id'], 'order_id'=>$order_id, 'user_id'=>$services_id, 'factor_id'=> $factor_id, ]); return $document->id; } } public static function makeSingleRowDocument($type=null,$data,$document_id=null,$services_id=null) { if($type == 'insert'){ if($document_id){ DocumentRow::where('document_id',$document_id)->delete(); } DocumentRow::insert($data); }else{ $description=null; if($data['description']){ $description=$data['description']; } DocumentRow::create([ 'bes'=>0, 'bed'=>$data['price'], 'description'=>$description, 'detailed_id'=>$data['from_id'], 'document_id'=>$document_id, 'user_id'=>$document_id, ]); } } public static function makeDocument($formData,$order_id=null,$services_id,$type=null) { $description=null; if($formData['description']){ $description=$formData['description']; } if($type == 'check_receive' || $type == 'check_pay'){ $date=$formData['datevuesss']; }else{ $date=$formData['datevuess']; } $document=Document::create([ 'sum_bes'=>$formData['price'], 'sum_bed'=>$formData['price'], 'type'=>$type, 'diffrent_price'=>0, 'date'=>$date, 'from_id'=>$formData['from_id'], 'to_id'=>$formData['to_id'], 'order_id'=>$order_id, 'user_id'=>$services_id, ]); if($document){ DocumentRow::create([ 'bes'=>0, 'bed'=>$formData['price'], 'description'=>$description, 'detailed_id'=>$formData['from_id'], 'document_id'=>$document->id, 'user_id'=>$services_id, ]); DocumentRow::create([ 'bes'=>$formData['price'], 'bed'=>0, 'description'=>$description, 'detailed_id'=>$formData['to_id'], 'document_id'=>$document->id, 'user_id'=>$services_id, ]); if($type == 'check_receive' || $type == 'check_pay'){ FinancialCheck::create([ 'bank'=>$formData['bank'], 'price'=>$formData['price'], 'issue_date'=>$formData['datevuesss'], 'due_date'=>$formData['datevuessD'], 'number_check'=>$formData['number_check'], 'number_sayad'=>$formData['number_sayad'], 'account_number'=>$formData['account_number'], 'national_code'=>$formData['national_code'], 'from_id'=>$formData['from_id'], 'to_id'=>$formData['to_id'], 'description_check'=>$formData['description_check'], 'description'=>$formData['price'], 'order_id'=>$order_id, 'user_id'=>$services_id, 'document_id'=>$document->id, ]); } return $document->id; } } public static function makeKolDefault($servises_id) { $kol=['صندوق','بدهکاران','خرید کالا','فروش کالا','درآمد خدمات']; foreach ($kol as $value) { $check=Kol::where('name',$value)->first(); if(!$check){ $kol=Kol::create([ 'name'=>$value, 'user_id'=>$servises_id, ]); if($value == 'بدهکاران'){ $moeen_value='مشتریان'; }elseif($value == 'فروش کالا' ){ $moeen_value='فروش'; }elseif($value == 'خرید کالا' ){ $moeen_value='خرید'; }elseif( $value == 'درآمد خدمات'){ $moeen_value='خدمات'; }else{ $moeen_value='صندوق'; } $moeen=Moeen::create([ 'name'=>$moeen_value, 'user_id'=>$servises_id, 'kol_id'=>$kol->id, ]); if($moeen && $moeen_value == 'فروش'){ Detailed::create([ 'name'=>'فروش ورق', 'user_id'=>$servises_id, 'kol_id'=>$kol->id, 'moeen_id'=>$moeen->id, ]); }elseif($moeen && $moeen_value == 'خرید'){ Detailed::create([ 'name'=>'خرید', 'user_id'=>$servises_id, 'kol_id'=>$kol->id, 'moeen_id'=>$moeen->id, ]); }elseif($moeen && $moeen_value == 'خدمات'){ Detailed::create([ 'name'=>'خدمات برش', 'user_id'=>$servises_id, 'kol_id'=>$kol->id, 'moeen_id'=>$moeen->id, ]); }elseif($moeen && $moeen_value == 'صندوق'){ Detailed::create([ 'name'=>'صندوق', 'user_id'=>$servises_id, 'kol_id'=>$kol->id, 'moeen_id'=>$moeen->id, ]); } } } } public static function makeDetailed($kol_name,$moeen_name,$detailed_name,$servises_id,$customer_id=null) { $kol_id=self::checkMakeKol($kol_name,$servises_id); if($kol_id){ $moeen_id=self::checkMakeMoeen($moeen_name,$kol_id,$servises_id); if($moeen_id){ $detailed_id=self::checkMakeDetailed($detailed_name,$kol_id,$moeen_id,$servises_id,$customer_id); return $detailed_id; } } } public static function checkMakeKol($name,$servises_id) { $check=Kol::where('name',$name)->where('user_id',$servises_id)->first(); if($check){ return $check->id; }else{ $kol=Kol::create([ 'name'=>$name, 'user_id'=>$servises_id, ]); return $kol->id; } } public static function checkMakeMoeen($name,$kol_id,$servises_id) { $check=Moeen::where('name',$name)->where('kol_id',$kol_id)->where('user_id',$servises_id)->first(); if($check){ return $check->id; }else{ $moeen=Moeen::create([ 'name'=>$name, 'user_id'=>$servises_id, 'kol_id'=>$kol_id, ]); return $moeen->id; } } public static function checkMakeDetailed($name,$kol_id,$moeen_id,$servises_id,$customer_id=null) { $check=Detailed::where('name',$name)->where('moeen_id',$moeen_id)->where('kol_id',$kol_id)->when($customer_id,function($q) use ($customer_id){ $q->where('customer_id',$customer_id); })->where('user_id',$servises_id)->first(); if($check){ return $check->id; }else{ if($customer_id){ $detailed=Detailed::create([ 'name'=>$name, 'user_id'=>$servises_id, 'kol_id'=>$kol_id, 'moeen_id'=>$moeen_id, 'customer_id'=>$customer_id, ]); }else{ $detailed=Detailed::create([ 'name'=>$name, 'user_id'=>$servises_id, 'kol_id'=>$kol_id, 'moeen_id'=>$moeen_id, ]); } return $detailed->id; } } public function validateApi($request,$rolls){ $validation=Validator::make($request->all(),$rolls); if($validation->fails()){ return $validation->messages()->first(); }else{ return 'ok'; } } public function countTicket(){ $ticket=Message::where('class','ticket')->where('status','user')->where('seen','no')->count(); return $ticket; } public static function replaceComma($str){ $result=str_replace( ',', '', $str ); return $result; } public static function edit_buy_factor($formData,$filesystem,$factor,$num){ $services_id=$factor->services_id; //set Factor::where('id',$factor->id)->update([ 'number'=>$formData['number'], 'date'=>$formData['date'], 'tel_seller'=>$formData['tel_seller'], 'seller'=>$formData['seller'], 'buyer'=>$formData['buyer'], 'tel_buyer'=>$formData['tel_buyer'], 'total'=>self::replaceComma($formData['total']), 'discount'=>self::replaceComma($formData['discount']), 'total_price'=>self::replaceComma($formData['total_price']), 'description'=>$formData['description'] ]); $from_id=self::makeDetailed('بدهکاران','فروشندگان',$formData['seller'],$services_id ); if($from_id){ $document_data=[ "from_id" => $from_id, "to_id" => $services_id, "price" => self::replaceComma($formData['total_price']), "date" => $formData['date'], "factor_id" => $factor->id, "type" => 'insert', ]; $document_id=self::makeSingleDocument($document_data,Null,$services_id,'factor'); if($document_id){ $inserts=[]; $inserts_document=[]; //set row foreach ($factor->rows as $row) { Product::where('id',$row->product_id)->update([ 'count'=>DB::raw('count - '. $row->count), ]); } for ($i=0; $i <= $num-1; $i++) { if(isset($formData['rows'][$i]['detailed'])){ $code=$formData['rows'][$i]['code']; $detailed_id=$formData['rows'][$i]['detailed']; $product_id=$formData['rows'][$i]['product_id']; $count=$formData['rows'][$i]['count']; $price=$formData['rows'][$i]['price']; $amount=$formData['rows'][$i]['amount'] ; Product::where('id',$product_id)->update([ 'count'=>DB::raw('GREATEST(count + '.$count.',0)'), ]); if($price){ $inserts_document[]=[ 'bes'=>$price, 'bed'=>0, 'description'=>$formData['description'], 'detailed_id'=>$detailed_id, 'document_id'=>$document_id, 'user_id'=>$services_id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; $inserts_document[]=[ 'bes'=>0, 'bed'=>$price, 'description'=>$formData['description'], 'detailed_id'=>$from_id, 'document_id'=>$document_id, 'user_id'=>$services_id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; $inserts[]=[ 'code'=>$code, 'detailed_id'=>$detailed_id, 'count'=>$count, 'price'=>$price, 'amount'=>$amount, 'product_id'=>$product_id, 'factor_id'=>$factor->id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; } } } FactorRow::where('factor_id',$factor->id)->delete(); //insert-data FactorRow::insert($inserts); self::makeSingleRowDocument('insert',$inserts_document); self::makeReceipt($document_id,$filesystem); self::export_pdf($factor->id,$filesystem); return 'ok'; } } } public static function edit_factor($formData,$filesystem,$factor,$num){ //set Factor::where('id',$factor->id)->update([ 'number'=>$formData['number'], 'date'=>$formData['date'], 'tel_seller'=>$formData['tel_seller'], 'seller'=>$formData['seller'], 'buyer'=>$formData['buyer'], 'tel_buyer'=>$formData['tel_buyer'], 'total'=>self::replaceComma($formData['total']), 'discount'=>self::replaceComma($formData['discount'] ), 'total_price'=>self::replaceComma($formData['total_price'] ), 'description'=>$formData['description'], ]); $user_services=UserServices::where('id',$factor->user_id)->first(); if($user_services->first_name || $user_services->last_name){ $name=$user_services->first_name.' '.$user_services->last_name; }else{ $name=$user_services->mobile; } $from_id=self::makeDetailed('بدهکاران','مشتریان',$name,$user_services->services_id,$user_services->user_id); if($from_id){ $document_data=[ "from_id" => $from_id, "to_id" => $user_services->services_id, "price" => self::replaceComma($formData['total_price']), "date" => $formData['date'], "factor_id" => $factor->id, "type" => 'update', ]; $document_id=self::makeSingleDocument($document_data,$factor->order_id,$user_services->services_id,'factor'); if($document_id){ FactorRow::where('factor_id',$factor->id)->delete(); //set row $inserts=[]; $inserts_document=[]; for ($i=0; $i <= $num-1; $i++) { $code=$formData['rows'][$i]['code']; $detailed_id=$formData['rows'][$i]['detailed']; $count=$formData['rows'][$i]['count']; $price=$formData['rows'][$i]['price']; $amount=$formData['rows'][$i]['amount'] ; if($price){ $inserts_document[]=[ 'bes'=>$price, 'bed'=>0, 'description'=>$formData['description'], 'detailed_id'=>$detailed_id, 'document_id'=>$document_id, 'user_id'=>$user_services->services_id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; $inserts_document[]=[ 'bes'=>0, 'bed'=>$price, 'description'=>$formData['description'], 'detailed_id'=>$from_id, 'document_id'=>$document_id, 'user_id'=>$user_services->services_id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; $inserts[]=[ 'code'=>$code, 'detailed_id'=>$detailed_id, 'count'=>$count, 'price'=>$price, 'amount'=>$amount, 'factor_id'=> $factor->id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; } } //insert-data FactorRow::insert($inserts); $order=Order::where('id',$factor->order_id)->first(); if($order){ PaymentServices::where('services_id',$order->services_id)-> where('user_id',$order->user_id)->where('order_id',$order->id)->where('type_sell','فاکتور')->update([ 'liability'=>self::replaceComma($formData['total_price'] ), 'creditor'=>'0', 'date_deposit'=>$formData['date'].' 00:00:00', ]); } self::makeSingleRowDocument('insert',$inserts_document,$document_id); self::makeReceipt($document_id,$filesystem); self::export_pdf($factor->id,$filesystem,$factor->order_id); } } } public static function decrement_count_product($order=null) { if($order){ $groups=OrderGroup::where('order_id',$order->id)->get(); if(0 < count($groups)){ foreach ($groups as $item) { if($item->product_id && $item->product_id != '0'){ if($item->product){ Product::where('id',$item->product_id)->update([ 'count'=>$item->product->count - $item->sheets , ]); } } } } } } public static function create_buy_factor($formData,$filesystem,$services_id,$num){ //set $factor=Factor::create([ 'number'=>$formData['number'], 'type'=>'buy', 'date'=>$formData['date'], 'tel_seller'=>$formData['tel_seller'], 'seller'=>$formData['seller'], 'buyer'=>$formData['buyer'], 'tel_buyer'=>$formData['tel_buyer'], 'total'=>self::replaceComma($formData['total']), 'discount'=>self::replaceComma($formData['discount']), 'total_price'=>self::replaceComma($formData['total_price']), 'description'=>$formData['description'], 'services_id'=>$services_id ]); $from_id=self::makeDetailed('بدهکاران','فروشندگان',$formData['seller'],$services_id ); if($from_id){ $document_data=[ "from_id" => $from_id, "to_id" => $services_id, "price" => self::replaceComma($formData['total_price']), "date" => $formData['date'], "factor_id" => $factor->id, "type" => 'insert', ]; $document_id=self::makeSingleDocument($document_data,Null,$services_id,'factor'); if($document_id){ $inserts=[]; $inserts_document=[]; //set row for ($i=0; $i <= $num; $i++) { if(isset($formData['rows'][$i]['detailed'])){ $code=$formData['rows'][$i]['code']; $detailed_id=$formData['rows'][$i]['detailed']; $product_id=$formData['rows'][$i]['product_id']; $count=$formData['rows'][$i]['count']; $price=$formData['rows'][$i]['price']; $amount=$formData['rows'][$i]['amount'] ; Product::where('id',$product_id)->update([ 'count'=>DB::raw('GREATEST(count + '.$count.',0)'), ]); if($price){ $inserts_document[]=[ 'bes'=>$price, 'bed'=>0, 'description'=>$formData['description'], 'detailed_id'=>$detailed_id, 'document_id'=>$document_id, 'user_id'=>$services_id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; $inserts_document[]=[ 'bes'=>0, 'bed'=>$price, 'description'=>$formData['description'], 'detailed_id'=>$from_id, 'document_id'=>$document_id, 'user_id'=>$services_id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; $inserts[]=[ 'code'=>$code, 'detailed_id'=>$detailed_id, 'count'=>$count, 'price'=>$price, 'amount'=>$amount, 'product_id'=>$product_id, 'factor_id'=>$factor->id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; } } } //insert-data FactorRow::insert($inserts); self::makeSingleRowDocument('insert',$inserts_document); self::makeReceipt($document_id,$filesystem); self::export_pdf($factor->id,$filesystem); return 'ok'; } } } public static function create_factor($formData,$filesystem,$customer_id,$order=null,$num=0){ $order_id=null; if($order){ $order_id=$order->id; if($order->type == 'slice'){ self::decrement_count_product($order); } } //set $factor=Factor::create([ 'number'=>$formData['number'], 'date'=>$formData['date'], 'tel_seller'=>$formData['tel_seller'], 'seller'=>$formData['seller'], 'buyer'=>$formData['buyer'], 'tel_buyer'=>$formData['tel_buyer'], 'total'=>self::replaceComma($formData['total']), 'discount'=>self::replaceComma($formData['discount']), 'total_price'=>self::replaceComma($formData['total_price']), 'description'=>$formData['description'], 'user_id'=>$customer_id, 'order_id'=>$order_id, ]); $user_services=UserServices::where('id',$customer_id)->first(); if($user_services->first_name || $user_services->last_name){ $name=$user_services->first_name.' '.$user_services->last_name; }else{ $name=$user_services->mobile; } $from_id=self::makeDetailed('بدهکاران','مشتریان',$name,$user_services->services_id,$user_services->user_id); if($from_id){ $document_data=[ "from_id" => $from_id, "to_id" => $user_services->services_id, "price" => self::replaceComma($formData['total_price']), "date" => $formData['date'], "factor_id" => $factor->id, "type" => 'insert', ]; $document_id=self::makeSingleDocument($document_data,$order_id,$user_services->services_id,'factor'); if($document_id){ $inserts=[]; $inserts_document=[]; //set row for ($i=0; $i <= $num; $i++) { if(isset($formData['rows'][$i]['detailed'])){ $code=$formData['rows'][$i]['code']; $detailed_id=$formData['rows'][$i]['detailed']; $count=$formData['rows'][$i]['count']; $price=$formData['rows'][$i]['price']; $amount=$formData['rows'][$i]['amount'] ; if($price){ $inserts_document[]=[ 'bes'=>$price, 'bed'=>0, 'description'=>$formData['description'], 'detailed_id'=>$detailed_id, 'document_id'=>$document_id, 'user_id'=>$user_services->services_id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; $inserts_document[]=[ 'bes'=>0, 'bed'=>$price, 'description'=>$formData['description'], 'detailed_id'=>$from_id, 'document_id'=>$document_id, 'user_id'=>$user_services->services_id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; $inserts[]=[ 'code'=>$code, 'detailed_id'=>$detailed_id, 'count'=>$count, 'price'=>$price, 'amount'=>$amount, 'factor_id'=>$factor->id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; } } } //insert-data FactorRow::insert($inserts); self::makeSingleRowDocument('insert',$inserts_document); self::makeReceipt($document_id,$filesystem); self::export_pdf($factor->id,$filesystem,$order_id); if($order){ PaymentServices::create([ 'type_sell'=>'فاکتور', 'liability'=>self::replaceComma($formData['total_price']), 'creditor'=>'0', 'date_deposit'=>$formData['date'].' 00:00:00', 'description'=>'ثبت فاکتور', 'order_id'=>$order->id, 'user_id'=>$order->user_id, 'services_id'=>$order->services_id, ]); } return 'ok'; } } } public static function export_pdf($factor_id,$filesystem,$order_id=null) { //pdf $factor=Factor::where('id',$factor_id)->with(['rows','order','rows.detailed'])->first(); $data=['factor'=>$factor]; $path_all=pathReturn($filesystem,'factors'); $path_pdf=$path_all[0]; $address_pdf=$path_all[1]; PDF::loadView('factore', $data, [])->save($path_pdf); Factor::where('id',$factor_id)->update([ 'pdf'=>$address_pdf, ]); if($order_id){ Order::where('id',$order_id)->update([ 'factor'=>$address_pdf ]); } return $address_pdf; } public static function export_form($group_id,$filesystem) { //pdf $order_factor=OrderGroup::where('id',$group_id)->with('slices','user','customer','customer','order','order.services','product')->first(); $data=['group'=>$order_factor]; $path_all=pathReturn($filesystem,'factors'); $path_pdf=$path_all[0]; $address_pdf=$path_all[1]; PDF::loadView('exportPDF', $data, [] )->save($path_pdf); OrderGroup::where('id',$group_id)->update([ 'order_form'=>$address_pdf, ]); } public static function return_machinery($services_id) { //pdf $WinCAM='false'; $OptiCut='false'; $CutMaster='false'; $machineries=UserMachinery::where('user_id',$services_id)->get(); if(count($machineries) > 0){ foreach ($machineries as $value) { if($value->type == 'WinCAM'){ $WinCAM='true'; } if($value->type == 'OptiCut'){ $OptiCut='true'; } if($value->type == 'CutMaster'){ $CutMaster='true'; } } } return ['CutMaster'=>$CutMaster,'WinCAM'=>$WinCAM,'OptiCut'=>$OptiCut]; } public static function sumCountSlice($length_one,$length_two,$width_one,$width_two,$width,$height,$count,$order) { $pvc=3; if($order->services){ if($order->services->pvc){ $pvc=$order->services->pvc; } } $shiar=0; if($length_one == 3){ $shiar = $shiar + ((int)$count * (int)$height);} if($length_two == 3){ $shiar = $shiar + ((int)$count * (int)$height);} if($width_one == 3){ $shiar = $shiar + ((int)$count * (int)$width);} if($width_two == 3){ $shiar = $shiar + ((int)$count * (int)$width);} $farsi=0; if($length_one == 2){ $farsi = $farsi + ((int)$count * (int)$height);} if($length_two == 2){ $farsi = $farsi + ((int)$count * (int)$height);} if($width_one == 2){ $farsi = $farsi + ((int)$count * (int)$width);} if($width_two == 2){ $farsi = $farsi + ((int)$count * (int)$width);} $navar=0; if($length_one == 1){ $navar = $navar + ((int)$count * (int)$pvc) + ((int)$count * (int)$height);} if($length_two == 1){ $navar = $navar + ((int)$count * (int)$pvc) + ((int)$count * (int)$height);} if($width_one == 1){ $navar = $navar + ((int)$count * (int)$pvc) + ((int)$count * (int)$width);} if($width_two == 1){ $navar = $navar + ((int)$count * (int)$pvc) + ((int)$count * (int)$width);} // Log::info([$navar,$farsi,$shiar]); return [$navar,$farsi,$shiar]; } public static function create_group_slice($filesystem,$form,$order,$customer,$services_id) { foreach ($form['groups'] as $g=>$group) { //set_group $inserts=[]; $navar=0; $shiar=0; $farsi=0; $slice_count=0; $res=OrderGroup::create([ 'product_id'=>$group['product_id'] ? $group['product_id'] : Null, 'panel_width'=>toEnDigit($group['panel_width'] ? $group['panel_width'] : '1000'), 'panel_height'=>toEnDigit($group['panel_height'] ? $group['panel_height'] : '1000'), 'wood_thickness'=>$group['wood_thickness'], 'panel_description'=>$group['panel_description'] ? $group['panel_description'] : Null, 'color_strip'=>$group['color_strip'] ? $group['color_strip'] : 'false', 'width_strip'=>$group['width_strip'] ? $group['width_strip'] : 'false', 'height_strip'=>$group['height_strip'] ? $group['height_strip'] : 'false', 'wood_type'=>$group['wood_type'], 'rotate_status'=>$group['rotate_status'] ? $group['rotate_status'] : 'false', 'cut_master'=>'pending', 'opticut'=>'pending', 'win_cam'=>'pending', 'order_id'=>$order->id, 'user_id'=>$form['user_id'], 'customer_id'=>$customer->id, ]); foreach ($form['groups'][$g]['slice'] as $s=>$slice) { $inserts[]=[ 'length_one'=>$slice['length_one'], 'length_two'=>$slice['length_two'], 'width_one'=>$slice['width_one'], 'width_two'=>$slice['width_two'], 'width'=>toEnDigit($slice['width']), 'height'=>toEnDigit($slice['length']), 'count'=>toEnDigit($slice['count']), 'rotate_status'=>$slice['rotate_status'] ? 'true' : 'false', 'description'=>$slice['description'], 'order_id'=>$order->id, 'user_id'=>$form['user_id'], 'order_group_id'=>$res->id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; $all=self::sumCountSlice($slice['length_one'],$slice['length_two'],$slice['width_one'],$slice['width_two'],$slice['width'],$slice['length'],$slice['count'],$order); $slice_count=(int)$slice_count + (int)$slice['count']; $navar=$navar+ $all[0]; $farsi=$farsi+ $all[1]; $shiar=$shiar+ $all[2]; } if(count($inserts) > 0){ //insert-data OrderSlice::insert($inserts); OrderGroup::where('id',$res->id)->update([ 'navar'=>$navar, 'shiar'=>$shiar, 'farsi'=>$farsi, 'slice_count'=>$slice_count, ]); //Export self::export_form($res->id,$filesystem); } } } public static function update_group_create_slice($filesystem,$form,$group) { $inserts=[]; $navar=0; $shiar=0; $farsi=0; $slice_count=0; OrderGroup::where('id',$group->id)->update([ 'product_id'=>$form['product_id'] ? $form['product_id'] : Null, 'panel_width'=>toEnDigit($form['panel_width'] ? $form['panel_width'] : '1000'), 'panel_height'=>toEnDigit($form['panel_height'] ? $form['panel_height'] : '1000'), 'wood_thickness'=>$form['wood_thickness'], 'panel_description'=>$form['panel_description'] ? $form['panel_description'] : Null, 'color_strip'=>$form['color_strip'] ? $form['color_strip'] : 'false', 'width_strip'=>$form['width_strip'] ? $form['width_strip'] : 'false', 'height_strip'=>$form['height_strip'] ? $form['height_strip'] : 'false', 'wood_type'=>$form['wood_type'], 'rotate_status'=>$form['rotate_status'] ? $form['rotate_status'] : 'false', 'cut_master'=>'pending', 'opticut'=>'pending', 'win_cam'=>'pending', 'opti_percent'=>0, 'opti_step'=>0, ]); foreach ($form['slice'] as $s=>$slice) { $inserts[]=[ 'length_one'=>$slice['length_one'], 'length_two'=>$slice['length_two'], 'width_one'=>$slice['width_one'], 'width_two'=>$slice['width_two'], 'width'=>toEnDigit($slice['width']), 'height'=>toEnDigit($slice['length']), 'count'=>toEnDigit($slice['count']), 'rotate_status'=>$slice['rotate_status'] ? 'true' : 'false', 'description'=>$slice['description'], 'user_id'=>$group->user_id, 'order_id'=>$group->order_id, 'order_group_id'=>$group->id, 'created_at'=>Carbon::now(), 'updated_at'=>Carbon::now(), ]; $all=self::sumCountSlice($slice['length_one'],$slice['length_two'],$slice['width_one'],$slice['width_two'],$slice['width'],$slice['length'],$slice['count'],$group->order); $slice_count=(int)$slice_count + (int)$slice['count']; $navar=$navar+ $all[0]; $farsi=$farsi+ $all[1]; $shiar=$shiar+ $all[2]; } if(count($inserts) > 0){ //insert-data OrderSlice::insert($inserts); OrderGroup::where('id',$group->id)->update([ 'navar'=>$navar, 'shiar'=>$shiar, 'farsi'=>$farsi, 'slice_count'=>$slice_count, ]); //Export self::export_form($group->id,$filesystem); } } }
Coded With 💗 by
0x6ick Mod By V1rus_Alfa