���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
/
npln
/
app
/
Helpers
/
HelperClass
/
Viewing: GeneralUse.php
<?php namespace App\Helpers\HelperClass; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Auth; use Shetabit\Multipay\Exceptions\InvalidPaymentException; use function App\Helpers\pathReturn; use function App\Helpers\DateNow; use function App\Helpers\destroyFile; 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 Carbon\Carbon; use PDF; 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 Zarinpal\Zarinpal; use App\Models\PaymentLog; use App\Models\OrderLog; use App\Models\OrderStatus; use Shetabit\Payment\Facade\Payment as ShetabitPayment; class GeneralUse { 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_order_status($order_id, $title_services, $title_employe) { $inserts[] = [ 'text' => 'ثبت توسط کاربر', 'date_show' => DateNow('add_day_s', 0), 'type' => 'services', 'user_id' => Auth::user()->id, 'order_id' => $order_id, 'created_at' => Carbon::now(), 'updated_at' => Carbon::now(), ]; $inserts[] = [ 'text' => $title_services, 'date_show' => DateNow('add_day_s', 0), 'type' => 'services', 'user_id' => Auth::user()->id, 'order_id' => $order_id, 'created_at' => Carbon::now(), 'updated_at' => Carbon::now(), ]; $inserts[] = [ 'text' => $title_employe, 'date_show' => DateNow('add_day_s', 0), 'type' => 'employee', 'user_id' => Auth::user()->id, 'order_id' => $order_id, 'created_at' => Carbon::now(), 'updated_at' => Carbon::now(), ]; OrderLog::insert($inserts); } public static function name_status($id) { $check = OrderStatus::where('id', $id)->first(); if ($check) { return $check->title; } } public static function setPayDocument($amount, $order, $filesystem) { $check_from = Detailed::where('customer_id', $order->customer_id)->first(); if (!$check_from) { $from_id = self::makeDetailed('بدهکاران', 'مشتریان', $order->customer->first_name . ' ' . $order->customer->last_name, $order->services_id, $order->customer_id); } else { $from_id = $check_from->id; } $check_to = Detailed::where('name', 'زرین پال')->first(); if (!$check_to) { $to_id = self::makeDetailed('زرین پال', 'زرین پال', 'زرین پال', $order->services_id); } else { $to_id = $check_to->id; } $status_name = self::name_status(9); if ($status_name) { Order::where('id', $order->id)->update([ 'status_services' => $status_name ]); OrderLog::create([ 'text' => $status_name, 'text_em' => $order->status_em_services, 'date_show' => DateNow('add_day_s', 0), 'type' => 'services', 'user_id' => $order->user_id, 'order_id' => $order->id, ]); } $formData = [ 'price' => $amount, 'from_id' => $from_id, 'to_id' => $to_id, 'datevuess' => DateNow('formatS'), 'description' => 'پرداخت برای سفارش شماره ' . $order->number . ' ', ]; $document_id = self::makeDocument($formData, $order->id, $order->services_id, 'cash_receive'); self::makeReceipt($document_id, $filesystem); } public static function call_back_order($request, $filesystem) { $order = Order::where('id', $request->order_id)->where('user_id', $request->user_id)->first(); $log = PaymentLog::where('amount', $order->price) ->where('user_id', $request->user_id) ->where('status', 'pending') ->latest() ->first(); if ($order && $log) { try { $amount = (int)$order->price; $onlinePayment = ShetabitPayment::amount($amount)->transactionId($log->authority)->verify(); if ($onlinePayment->getReferenceId()) { $log->update([ 'RefID' => $onlinePayment->getReferenceId(), 'description' => 'عملیات موفق', 'status' => 'OK' ]); $order->update([ 'payment_log_id' => $log->id, 'payment_status' => 'true' ]); self::setPayDocument($amount, $order, $filesystem); return true; } else { $log->update([ 'description' => 'عملیات ناموفق', 'status' => 'NOK' ]); return false; } } catch (InvalidPaymentException $exception) { $log->update([ 'description' => 'عملیات ناموفق ' . $exception->getMessage(), 'status' => 'NOK' ]); return false; } return false; } // $payment = [ // 'authority' => $request->input('Authority'), // $_GET['Authority'] // 'amount' => $amount // ]; // if ($request->input('Status') != 'OK') { // PaymentLog::create([ // 'authority' => $request->input('Authority'), // 'amount' => $amount, // 'status' => $request->input('Status'), // 'message' => "Error", // 'user_id' => $request->user_id, // ]); // return 'error'; // } else { // $response = $zarinpal->verify($payment); // $code = $response['data']['code']; // $message = $zarinpal->getCodeMessage($code); // if ($code === 100) { // $log = PaymentLog::create([ // 'amount' => $amount, // 'authority' => $request->input('Authority'), // 'RefID' => $response['data']['ref_id'], // 'status' => $request->input('Status'), // 'message' => "Payment was successful, RefID: " . $response['data']['ref_id'] . ", Message: ${message}", // 'user_id' => $request->user_id, // ]); // $order->update([ // 'payment_log_id' => $log->id, // 'payment_status' => 'true' // ]); // self::setPayDocument($amount, $order, $filesystem); // } else { // // PaymentLog::create([ // 'authority' => $request->input('Authority'), // 'amount' => $amount, // 'status' => $request->input('Status'), // 'message' => "Error", // 'user_id' => $request->user_id, // ]); // return 'error'; // } // } // } else { // // PaymentLog::create([ // 'authority' => $request->input('Authority'), // 'amount' => 0, // 'status' => $request->input('Status'), // 'message' => "Error", // 'user_id' => $request->user_id, // ]); // return 'error'; } 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) { $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, $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' => $data['price'], 'bed' => 0, 'description' => $description, 'detailed_id' => $data['from_id'], 'document_id' => $document_id, 'user_id' => $document_id, ]); } } public static function editDocument($formData, $order_id = null, $services_id, $type, $document_id) { $description = null; if ($formData['description']) { $description = $formData['description']; } if ($type == 'check_receive' || $type == 'check_pay') { $date = $formData['datevuesss']; } else { $date = $formData['datevuess']; } $price = null; if (isset($formData['price'])) { $price = str_replace(',', '', $formData['price']); }; Document::where('id', $document_id)->update([ 'sum_bes' => $price, 'sum_bed' => $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, ]); DocumentRow::where('document_id', $document_id)->delete(); DocumentRow::create([ 'bes' => $price, 'bed' => 0, 'description' => $description, 'detailed_id' => $formData['from_id'], 'document_id' => $document_id, 'user_id' => $services_id, ]); DocumentRow::create([ 'bes' => 0, 'bed' => $price, 'description' => $description, 'detailed_id' => $formData['to_id'], 'document_id' => $document_id, 'user_id' => $services_id, ]); if ($type == 'check_receive' || $type == 'check_pay') { FinancialCheck::where('document_id', $document_id)->update([ 'bank' => $formData['bank'], 'price' => $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' => $description, 'order_id' => $order_id, 'user_id' => $services_id, 'document_id' => $document_id ]); } return $document_id; } public static function makeDocument($formData, $order_id = null, $services_id, $type, $customer_id = null) { $description = null; if ($formData['description']) { $description = $formData['description']; } if ($type == 'check_receive' || $type == 'check_pay') { $date = $formData['datevuesss']; } else { $date = $formData['datevuess']; } $price = null; if (isset($formData['price'])) { $price = str_replace(',', '', $formData['price']); }; $document = Document::create([ 'sum_bes' => $price, 'sum_bed' => $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, 'customer_id' => $customer_id, ]); if ($document) { DocumentRow::create([ 'bes' => $price, 'bed' => 0, 'description' => $description, 'detailed_id' => $formData['from_id'], 'document_id' => $document->id, 'user_id' => $services_id, ]); DocumentRow::create([ 'bes' => 0, 'bed' => $price, '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' => $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' => $description, '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) { $kol = Kol::create([ 'name' => $value, 'user_id' => $servises_id, ]); if ($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, ]); } } } 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_factor($formData, $filesystem, $factor) { //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 = 1; $i <= $formData['count_slice']; $i++) { $code = ''; if (isset($formData['code' . $i])) { $code = $formData['code' . $i]; }; $detailed_id = ''; if (isset($formData['detailed' . $i])) { $detailed_id = $formData['detailed' . $i]; }; $count = 0; if (isset($formData['count' . $i])) { $count = $formData['count' . $i]; }; $price = 0; if (isset($formData['price' . $i])) { $price = $formData['price' . $i]; }; $amount = 0; if (isset($formData['amount' . $i])) { $amount = $formData['amount' . $i]; }; $price = self::replaceComma($price); $amount = self::replaceComma($amount); if ($price) { $inserts_document[] = [ 'bes' => self::replaceComma($formData['total_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' => self::replaceComma($formData['total_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 create_factor($formData, $filesystem, $customer_id, $order = null) { $order_id = null; if ($order) { $order_id = $order->id; } //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 = 1; $i <= $formData['count_slice']; $i++) { if (isset($formData['detailed' . $i])) { $code = ''; if (isset($formData['code' . $i])) { $code = $formData['code' . $i]; }; $detailed_id = ''; if (isset($formData['detailed' . $i])) { $detailed_id = $formData['detailed' . $i]; }; $count = 0; if (isset($formData['count' . $i])) { $count = $formData['count' . $i]; }; $price = 0; if (isset($formData['price' . $i])) { $price = $formData['price' . $i]; }; $amount = 0; if (isset($formData['amount' . $i])) { $amount = $formData['amount' . $i]; }; $price = self::replaceComma($price); $amount = self::replaceComma($amount); if ($price) { $inserts_document[] = [ 'bes' => self::replaceComma($formData['total_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' => self::replaceComma($formData['total_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 + ($count * $height); } if ($length_two == 3) { $shiar = $shiar + ($count * $height); } if ($width_one == 3) { $shiar = $shiar + ($count * $width); } if ($width_two == 3) { $shiar = $shiar + ($count * $width); } $farsi = 0; if ($length_one == 2) { $farsi = $farsi + ($count * $height); } if ($length_two == 2) { $farsi = $farsi + ($count * $height); } if ($width_one == 2) { $farsi = $farsi + ($count * $width); } if ($width_two == 2) { $farsi = $farsi + ($count * $width); } $navar = 0; if ($length_one == 1) { $navar = $navar + ($count * $pvc) + ($count * $height); } if ($length_two == 1) { $navar = $navar + ($count * $pvc) + ($count * $height); } if ($width_one == 1) { $navar = $navar + ($count * $pvc) + ($count * $width); } if ($width_two == 1) { $navar = $navar + ($count * $pvc) + ($count * $width); } return [$navar, $farsi, $shiar]; } public static function create_group_slice($filesystem, $formData, $order, $customer, $services_id) { for ($g = 1; $g <= $formData['count_part']; $g++) { $inserts = []; //SET-GROUP // panel_width & panel_height & rotate_status $panel_width = '1000'; if ($formData['panel_width' . $g]) { $panel_width = $formData['panel_width' . $g]; } $panel_height = '1000'; if ($formData['panel_height' . $g]) { $panel_height = $formData['panel_height' . $g]; } $rotate_status = 'false'; if (isset($formData['rotate_status' . $g])) { $rotate_status = 'true'; } // wood_thickness & panel_description & wood_type $wood_thickness = ''; if (isset($formData['wood_thickness' . $g])) { $wood_thickness = $formData['wood_thickness' . $g]; }; $panel_description = Null; if ($formData['panel_description' . $g]) { $panel_description = $formData['panel_description' . $g]; } $wood_type = ''; if (isset($formData['wood_type' . $g])) { $wood_type = $formData['wood_type' . $g]; }; // color_strip & width_strip &height_strip $color_strip = 'false'; if (isset($formData['color_strip' . $g])) { $color_strip = $formData['color_strip' . $g]; }; $width_strip = 'false'; if (isset($formData['width_strip' . $g])) { $width_strip = $formData['width_strip' . $g]; }; $height_strip = 'false'; if (isset($formData['height_strip' . $g])) { $height_strip = $formData['height_strip' . $g]; }; $product_id = Null; if ($formData['product_id_' . $g]) { $product_id = $formData['product_id_' . $g]; }; //set_group $group = OrderGroup::create([ 'product_id' => $product_id, 'panel_width' => $panel_width, 'panel_height' => $panel_height, 'wood_thickness' => $wood_thickness, 'panel_description' => $panel_description, 'color_strip' => $color_strip, 'width_strip' => $width_strip, 'height_strip' => $height_strip, 'wood_type' => $wood_type, 'rotate_status' => $rotate_status, 'cut_master' => 'pending', 'opticut' => 'pending', 'win_cam' => 'pending', 'order_id' => $order->id, 'user_id' => $formData['user_id'], 'customer_id' => $customer->id, ]); //SET-Slice $navar = 0; $shiar = 0; $farsi = 0; $slice_count = 0; for ($i = 1; $i <= $formData['count_slice' . $g]; $i++) { $width = ''; if (isset($formData['width_' . $g . '_' . $i])) { $width = $formData['width_' . $g . '_' . $i]; }; if ($width) { $length_one = ''; if (isset($formData['length_one_' . $g . '_' . $i])) { $length_one = $formData['length_one_' . $g . '_' . $i]; }; $length_two = ''; if (isset($formData['length_two_' . $g . '_' . $i])) { $length_two = $formData['length_two_' . $g . '_' . $i]; }; $width_one = ''; if (isset($formData['width_one_' . $g . '_' . $i])) { $width_one = $formData['width_one_' . $g . '_' . $i]; }; $width_two = ''; if (isset($formData['width_two_' . $g . '_' . $i])) { $width_two = $formData['width_two_' . $g . '_' . $i]; }; $height = ''; if (isset($formData['length_' . $g . '_' . $i])) { $height = $formData['length_' . $g . '_' . $i]; }; $count = 0; if (isset($formData['count_' . $g . '_' . $i])) { $count = $formData['count_' . $g . '_' . $i]; }; $rotate_status_slice = 'false'; if (isset($formData['rotate_status_' . $g . '_' . $i])) { $rotate_status_slice = 'true'; } $description = ''; if (isset($formData['description_' . $g . '_' . $i])) { $description = $formData['description_' . $g . '_' . $i]; }; $all = self::sumCountSlice($length_one, $length_two, $width_one, $width_two, $width, $height, $count, $order); $slice_count = $slice_count + $count; $navar = $navar + $all[0]; $farsi = $farsi + $all[1]; $shiar = $shiar + $all[2]; $inserts[] = [ 'length_one' => $length_one, 'length_two' => $length_two, 'width_one' => $width_one, 'width_two' => $width_two, 'width' => $width, 'height' => $height, 'count' => $count, 'rotate_status' => $rotate_status_slice, 'description' => $description, 'user_id' => $formData['user_id'], 'order_id' => $order->id, 'order_group_id' => $group->id, 'created_at' => Carbon::now(), 'updated_at' => Carbon::now(), ]; } } 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