From 955ec22ee0572d6a171949c441a5cfbc6a693a25 Mon Sep 17 00:00:00 2001 From: Shohrat Date: Mon, 9 Oct 2023 04:04:21 +0500 Subject: [PATCH] report and orders --- plugins/romanah/gokbakja/components/Order.php | 789 ++++++++++++++++-- .../gokbakja/components/Production.php | 12 +- plugins/romanah/gokbakja/models/BagSize.php | 6 +- plugins/romanah/gokbakja/models/BagType.php | 4 + plugins/romanah/gokbakja/models/Shipping.php | 7 + .../gokbakja/models/ShippingTransport.php | 33 + ...te_romanah_gokbakja_shipping_transport.php | 28 + ..._table_update_romanah_gokbakja_order_5.php | 25 + ...te_romanah_gokbakja_shipping_transport.php | 23 + ..._romanah_gokbakja_shipping_transport_2.php | 23 + ..._romanah_gokbakja_shipping_transport_3.php | 23 + plugins/romanah/gokbakja/updates/version.yaml | 15 + themes/gokbakja/pages/orders/new.htm | 17 +- themes/gokbakja/pages/orders/order-detail.htm | 137 ++- .../pages/orders/order-detaillogistics.htm | 213 +++++ .../pages/orders/order-detailpayment.htm | 194 +++++ themes/gokbakja/partials/order/aside.htm | 14 + .../gokbakja/partials/order/item_header.htm | 68 ++ 18 files changed, 1485 insertions(+), 146 deletions(-) create mode 100644 plugins/romanah/gokbakja/models/ShippingTransport.php create mode 100644 plugins/romanah/gokbakja/updates/builder_table_create_romanah_gokbakja_shipping_transport.php create mode 100644 plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_order_5.php create mode 100644 plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport.php create mode 100644 plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport_2.php create mode 100644 plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport_3.php create mode 100644 themes/gokbakja/pages/orders/order-detaillogistics.htm create mode 100644 themes/gokbakja/pages/orders/order-detailpayment.htm create mode 100644 themes/gokbakja/partials/order/aside.htm create mode 100644 themes/gokbakja/partials/order/item_header.htm diff --git a/plugins/romanah/gokbakja/components/Order.php b/plugins/romanah/gokbakja/components/Order.php index 1ba556d..bb8b272 100644 --- a/plugins/romanah/gokbakja/components/Order.php +++ b/plugins/romanah/gokbakja/components/Order.php @@ -6,7 +6,10 @@ use Cms\Classes\ComponentBase; use Romanah\Gokbakja\Models\Production as ProductionModel; use Romanah\Gokbakja\Models\PivotProduction as PivotProductionModel; use Romanah\Gokbakja\Models\Order as OrderModel; +use Romanah\Gokbakja\Models\OrderItem as OrderItemModel; use Romanah\Gokbakja\Models\Shipping as ShippingModel; +use Romanah\Gokbakja\Models\ShippingTransport as ShippingTransportModel; +use Romanah\Gokbakja\Models\Payment as PaymentModel; use Redirect; use Carbon\Carbon; use Flash; @@ -26,63 +29,749 @@ class Order extends ComponentBase - public function onRender(){ + public function onRender() + { $html_data = ''; - $orderDatas = OrderModel::with(["client", "shipping"])->orderBy('id', 'DESC')->get(); + $orderDatas = OrderModel::with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function ($query) { + $query->select(DB::raw('sum(price) * sum(amount)')); + }]) + ->withCount(['payment as all_payments' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->orderBy('id', 'DESC') + ->get(); + for ($x = 0; $x < count($orderDatas); $x++) { $html_data .= ' - '.($x+1).' - Sargyt #'.$orderDatas[$x]->id.' - '.$orderDatas[$x]->client->name.' - '.$orderDatas[$x]->client->country.' - '.number_format($orderDatas[$x]->amount).' kg + ' . ($x + 1) . ' + Sargyt #' . $orderDatas[$x]->id . ' + ' . $orderDatas[$x]->client->name . ' + ' . $orderDatas[$x]->client->country . ' + ' . number_format($orderDatas[$x]->order_all_amount) . ' kg + ' . number_format($orderDatas[$x]->order_all_price) . ' $ + '.number_format($orderDatas[$x]->price).' $ + style="font-size: 14px;">' . number_format($orderDatas[$x]->all_payments) . ' $ - '.($orderDatas[$x]->shipping->status == 'not_loaded' ? 'Ýüklenmedik' : 'Ýüklenýär' ).' + ' . number_format($orderDatas[$x]->order_all_price - $orderDatas[$x]->all_payments) . ' $ - '.$orderDatas[$x]->created_at->format('d.m.Y').' - '.$orderDatas[$x]->note.' + ' . $orderDatas[$x]->created_at->format('d.m.Y') . ' + ' . $orderDatas[$x]->note . ' + POZ '; - } return $html_data; } - // data-request="onModalSet" data-request-data="orderId: '.$orderDatas[$x]->id.', header: \''.$orderDatas[$x]->client->name.'\'" data-bs-toggle="modal" data-bs-target=".bs-example-modal-sm-1" + public function onUpdatePaymentItem() + { + $data = post(); + $orderId = $this->param("orderId"); - public function onModalSet(){ - $data = post(); + $createPayment = PaymentModel::where("id", $data["payment_id"])->first(); + $createPayment->amount = $data["amount"]; + $createPayment->note = $data["note"]; + $createPayment->order_id = $orderId; + $createPayment->save(); - $html_data = ''; - return [ - '#modal-form' => $html_data, - ]; + return [ + '#modal-form' => $html_data, + ]; + } + public function onCreatePaymentItem() + { + $data = post(); + $orderId = $this->param("orderId"); + + + $createPayment = new PaymentModel(); + $createPayment->amount = $data["amount"]; + $createPayment->note = $data["note"]; + $createPayment->order_id = $orderId; + $createPayment->save(); + + $html_data = ''; + + $paymentDatas = PaymentModel::where("order_id", $orderId)->orderBy('id', 'DESC')->get(); + + for ($x = 0; $x < count($paymentDatas); $x++) { + // dd($orderDatas[$x]->shipping->status); + $html_data .= ' + ' . ($x + 1) . ' + ' . $paymentDatas[$x]->amount . ' $ + ' . $paymentDatas[$x]->created_at->format('d.m.Y') . ' + ' . $paymentDatas[$x]->note . ' + Täzele + '; + } + + $order = OrderModel::where("id", $orderId)->with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function ($query) { + $query->select(DB::raw('sum(price)')); + }]) + ->first(); + + $all = ($order->order_all_amount * $order->order_all_price); + + $allPaid = PaymentModel::where("order_id", $orderId)->sum("amount"); + $allNot = ($all - $allPaid); + + if ($createPayment) { + + Flash::success("Töleg Ustunlikli Goşuldy"); + return [ + '#payment_item_datas' => $html_data, + '#allAmount' => $order->order_all_amount . " kg", + '#allPrice' => $order->order_all_price . " $", + '#all' => "Jemi Bahasy: " . number_format($all) . " $", + '#all_payment' => "Jemi Tölenen Töleg: " . number_format($allPaid) . " $", + '#all_not' => "Bergisi: " . number_format($allNot) . "$", + ]; + } else { + return Flash::error("Yalnyshlyk bar!!"); + } + // } + } + + public function onModalSetTransport() + { + + $data = post(); + + $transportItem = ShippingTransportModel::where("id", $data["transportId"])->first(); + + $html_data = ' + '; + + return [ + '#modal-form' => $html_data, + ]; + } + + public function onUpdateTransportItem() + { + $data = post(); + $orderId = $this->param("orderId"); + + $orderq = OrderModel::where("id", $orderId) + ->withCount(['order_items as order_all_amount' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }])->first(); + + $transportAmountSum = ShippingTransportModel::where("shipping_id", $orderq->shipping_id)->sum('loaded_amount'); + + $allLoadedAmount = $transportAmountSum + $data["loaded_amount"]; + + // dd($allLoadedAmount); + // if ($orderq->order_all_amount < $allLoadedAmount) { + // Flash::error("Yuklenen mukdar jemi edilen sargytdan uly"); + // } else { + $createShippingTransport = ShippingTransportModel::where("id", $data["transport_id"])->first(); + + $createShippingTransport->transport_type = $data["transport_type"]; + $createShippingTransport->place_now = $data["place_now"]; + $createShippingTransport->loaded_amount = $data["loaded_amount"]; + $createShippingTransport->transport_no = $data["transport_no"]; + $createShippingTransport->status = $data["status"]; + $createShippingTransport->note = $data["note"]; + $createShippingTransport->shipping_id = $orderq->shipping_id; + $createShippingTransport->save(); + + $html_data = ''; + + $transportDatas = ShippingTransportModel::where("shipping_id", $orderq->shipping_id)->orderBy('id', 'DESC')->get(); + + for ($x = 0; $x < count($transportDatas); $x++) { + // dd($orderDatas[$x]->shipping->status); + $html_data .= ' + ' . ($x + 1) . ' + ' . $transportDatas[$x]->transport_type . ' + ' . $transportDatas[$x]->place_now . ' + ' . $transportDatas[$x]->loaded_amount . ' kg + ' . $transportDatas[$x]->transport_no . ' + ' . $transportDatas[$x]->note . ' + Täzele + '; + } + + $order = OrderModel::where("id", $orderId)->with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function ($query) { + $query->select(DB::raw('sum(price)')); + }]) + ->first(); + + $all = ($order->order_all_amount * $order->order_all_price); + + $allLoaded = ShippingTransportModel::where("shipping_id", $orderq->shipping_id)->sum("loaded_amount"); + + if ($createShippingTransport) { + + Flash::success("Transport Ustunlikli Goşuldy"); + return [ + '#transport_item_datas' => $html_data, + '#allAmount' => $order->order_all_amount . " kg", + '#allPrice' => $order->order_all_price . " $", + '#all' => "Jemi Bahasy: " . number_format($all) . " $", + '#all_loaded' => "Jemi Ýüklenen Ýük: " . number_format($allLoaded) . " kg", + ]; + } else { + return Flash::error("Yalnyshlyk bar!!"); + } + // } + } + + + public function onCreateTransportItem() + { + $data = post(); + $orderId = $this->param("orderId"); + + $orderq = OrderModel::where("id", $orderId) + ->withCount(['order_items as order_all_amount' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }])->first(); + + $transportAmountSum = ShippingTransportModel::where("shipping_id", $orderq->shipping_id)->sum('loaded_amount'); + + $allLoadedAmount = $transportAmountSum + $data["loaded_amount"]; + + // dd($allLoadedAmount); + // if ($orderq->order_all_amount < $allLoadedAmount) { + // Flash::error("Yuklenen mukdar jemi edilen sargytdan uly"); + // } else { + $createShippingTransport = new ShippingTransportModel(); + $createShippingTransport->transport_type = $data["transport_type"]; + $createShippingTransport->place_now = "Aşgabat"; + $createShippingTransport->loaded_amount = $data["loaded_amount"]; + $createShippingTransport->transport_no = $data["transport_no"]; + $createShippingTransport->note = $data["note"]; + $createShippingTransport->shipping_id = $orderq->shipping_id; + $createShippingTransport->save(); + + $html_data = ''; + + $transportDatas = ShippingTransportModel::where("shipping_id", $orderq->shipping_id)->orderBy('id', 'DESC')->get(); + + for ($x = 0; $x < count($transportDatas); $x++) { + // dd($orderDatas[$x]->shipping->status); + $html_data .= ' + ' . ($x + 1) . ' + ' . $transportDatas[$x]->transport_type . ' + ' . $transportDatas[$x]->place_now . ' + ' . $transportDatas[$x]->loaded_amount . ' kg + ' . $transportDatas[$x]->transport_no . ' + ' . $transportDatas[$x]->note . ' + Täzele + '; + } + + $order = OrderModel::where("id", $orderId)->with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function ($query) { + $query->select(DB::raw('sum(price)')); + }]) + ->first(); + + $all = ($order->order_all_amount * $order->order_all_price); + + $allLoaded = ShippingTransportModel::where("shipping_id", $orderq->shipping_id)->sum("loaded_amount"); + + if ($createShippingTransport) { + + Flash::success("Transport Ustunlikli Goşuldy"); + return [ + '#transport_item_datas' => $html_data, + '#allAmount' => $order->order_all_amount . " kg", + '#allPrice' => $order->order_all_price . " $", + '#all' => "Jemi Bahasy: " . number_format($all) . " $", + '#all_loaded' => "Jemi Ýüklenen Ýük: " . number_format($allLoaded) . " kg", + ]; + } else { + return Flash::error("Yalnyshlyk bar!!"); + } + // } + } + + // data-request="onModalSet" data-request-data="orderId: '.$orderDatas[$x]->id.', header: \''.$orderDatas[$x]->client->name.'\'" data-bs-toggle="modal" data-bs-target=".bs-example-modal-sm-1" + + public function onDeleteOrder() + { + $data = post(); + + $order = OrderModel::where("id", $data["orderId"])->delete(); + + $html_data = ''; + + $orderDatas = OrderModel::with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function ($query) { + $query->select(DB::raw('sum(price)')); + }]) + ->orderBy('id', 'DESC') + ->get(); + + + for ($x = 0; $x < count($orderDatas); $x++) { + $html_data .= ' + ' . ($x + 1) . ' + Sargyt #' . $orderDatas[$x]->id . ' + ' . $orderDatas[$x]->client->name . ' + ' . $orderDatas[$x]->client->country . ' + ' . number_format($orderDatas[$x]->order_all_amount) . ' kg + ' . number_format($orderDatas[$x]->order_all_price) . ' $ + + ' . number_format($orderDatas[$x]->all_payments) . ' $ + + ' . number_format($orderDatas[$x]->order_all_price - $orderDatas[$x]->all_payments ) . ' $ + + ' . $orderDatas[$x]->created_at->format('d.m.Y') . ' + ' . $orderDatas[$x]->note . ' + POZ + '; + } + + if ($order) { + + Flash::success("Sargyt Ustunlikli Pozuldy"); + return [ + '#order_datas' => $html_data, + ]; + } else { + return Flash::error("Yalnyshlyk bar!!"); + } + } + + public function onModalSet() + { + + $data = post(); + + $orderItem = OrderItemModel::where("id", $data["orderItemId"])->first(); + + $html_data = ' + '; + + return [ + '#modal-form' => $html_data, + ]; + } + + public function onModalSetAmount() + { + + $data = post(); + + $orderItem = OrderItemModel::where("id", $data["orderItemId"])->first(); + + $html_data = ' + '; + + return [ + '#modal-form' => $html_data, + ]; + } + + public function onUpdateOrderItemAmount() + { + // $this["currentMonth"] = $currentDate->format('m'); + $data = post(); + + $orderItem = OrderItemModel::where("id", $data["id"])->first(); + + $orderItem->amount = (float) $data["amount"]; + $orderItem->save(); + + + + $html_data = ''; + + $orderDatas = OrderItemModel::with(["type", "size"])->where("order_id", $orderItem->order_id)->orderBy('id', 'DESC')->get(); + + for ($x = 0; $x < count($orderDatas); $x++) { + // dd($orderDatas[$x]->shipping->status); + $html_data .= ' + ' . ($x + 1) . ' + ' . $orderDatas[$x]->type->name . ' + ' . $orderDatas[$x]->size->name . ' + ' . number_format($orderDatas[$x]->price) . ' $ + + ' . $orderDatas[$x]->amount . ' + ' . $orderDatas[$x]->note . ' + '; + } + + $order = OrderModel::where("id", $orderItem->order_id)->with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function ($query) { + $query->select(DB::raw('sum(price)')); + }]) + ->first(); + + $all = ($order->order_all_amount * $order->order_all_price); + + if ($orderItem) { + + Flash::success("Sargyt Harydy Ustunlikli Goşuldy"); + return [ + '#order_item_datas' => $html_data, + '#allAmount' => $order->order_all_amount . " kg", + '#allPrice' => $order->order_all_price . " $", + '#all' => "Jemi Bahasy: " . number_format($all) . " $", + ]; + } else { + return Flash::error("Yalnyshlyk bar!!"); + } + } + + public function onUpdateOrderItemPrice() + { + // $this["currentMonth"] = $currentDate->format('m'); + $data = post(); + + $orderItem = OrderItemModel::where("id", $data["id"])->first(); + + $orderItem->price = (float) $data["price"]; + $orderItem->save(); + + + + $html_data = ''; + + $orderDatas = OrderItemModel::with(["type", "size"])->where("order_id", $orderItem->order_id)->orderBy('id', 'DESC')->get(); + + for ($x = 0; $x < count($orderDatas); $x++) { + // dd($orderDatas[$x]->shipping->status); + $html_data .= ' + ' . ($x + 1) . ' + ' . $orderDatas[$x]->type->name . ' + ' . $orderDatas[$x]->size->name . ' + ' . number_format($orderDatas[$x]->price) . ' $ + + ' . $orderDatas[$x]->amount . ' + ' . $orderDatas[$x]->note . ' + '; + } + + $order = OrderModel::where("id", $orderItem->order_id)->with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function ($query) { + $query->select(DB::raw('sum(price)')); + }]) + ->first(); + + $all = ($order->order_all_amount * $order->order_all_price); + + if ($orderItem) { + + Flash::success("Sargyt Harydy Ustunlikli Goşuldy"); + return [ + '#order_item_datas' => $html_data, + '#allAmount' => $order->order_all_amount . " kg", + '#allPrice' => $order->order_all_price . " $", + '#all' => "Jemi Bahasy: " . number_format($all) . " $", + ]; + } else { + return Flash::error("Yalnyshlyk bar!!"); + } + } + + public function onCreateOrderItem() + { + $data = post(); + $orderId = $this->param("orderId"); + + + $createOrderItem = new OrderItemModel(); + $createOrderItem->amount = $data["amount"]; + $createOrderItem->order_id = $orderId; + $createOrderItem->type_id = $data["type_id"]; + $createOrderItem->size_id = $data["size_id"]; + $createOrderItem->price = $data["price"]; + $createOrderItem->note = $data["note"]; + $createOrderItem->save(); + + $html_data = ''; + + $orderDatas = OrderItemModel::with(["type", "size"])->where("order_id", $orderId)->orderBy('id', 'DESC')->get(); + + for ($x = 0; $x < count($orderDatas); $x++) { + // dd($orderDatas[$x]->shipping->status); + $html_data .= ' + ' . ($x + 1) . ' + ' . $orderDatas[$x]->type->name . ' + ' . $orderDatas[$x]->size->name . ' + ' . number_format($orderDatas[$x]->price) . ' $ + + ' . $orderDatas[$x]->amount . ' + ' . $orderDatas[$x]->note . ' + '; + } + + $order = OrderModel::where("id", $orderId)->with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function ($query) { + $query->select(DB::raw('sum(price)')); + }]) + ->first(); + + $all = ($order->order_all_amount * $order->order_all_price); + + if ($createOrderItem) { + + Flash::success("Sargyt Harydy Ustunlikli Goşuldy"); + return [ + '#order_item_datas' => $html_data, + '#allAmount' => $order->order_all_amount . " kg", + '#allPrice' => $order->order_all_price . " $", + '#all' => "Jemi Bahasy: " . number_format($all) . " $", + ]; + } else { + return Flash::error("Yalnyshlyk bar!!"); + } } @@ -99,8 +788,6 @@ class Order extends ComponentBase $createOrder = new OrderModel(); $createOrder->client_id = $data["client_id"]; - $createOrder->amount = $data["amount"]; - $createOrder->price = $data["price"]; $createOrder->note = $data["note"]; $createOrder->shipping_id = 0; $createOrder->save(); @@ -120,40 +807,46 @@ class Order extends ComponentBase $html_data = ''; - $orderDatas = OrderModel::with(["client", "shipping"])->orderBy('id', 'DESC')->get(); + $orderDatas = OrderModel::with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function ($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function ($query) { + $query->select(DB::raw('sum(price)')); + }]) + ->orderBy('id', 'DESC') + ->get(); + for ($x = 0; $x < count($orderDatas); $x++) { - // dd($orderDatas[$x]->shipping->status); $html_data .= ' - '.($x+1).' - Sargyt #'.$orderDatas[$x]->id.' - '.$orderDatas[$x]->client->name.' - '.$orderDatas[$x]->client->country.' - '.number_format($orderDatas[$x]->amount).' kg + ' . ($x + 1) . ' + Sargyt #' . $orderDatas[$x]->id . ' + ' . $orderDatas[$x]->client->name . ' + ' . $orderDatas[$x]->client->country . ' + ' . number_format($orderDatas[$x]->order_all_amount) . ' kg + ' . number_format($orderDatas[$x]->order_all_price) . ' $ + '.number_format($orderDatas[$x]->price).' $ + style="font-size: 14px;">' . number_format($orderDatas[$x]->all_payments) . ' $ - '.($orderDatas[$x]->shipping->status == 'not_loaded' ? 'Ýüklenmedik' : 'Ýüklenýär' ).' + ' . number_format($orderDatas[$x]->order_all_price - $orderDatas[$x]->all_payments ) . ' $ - '.$orderDatas[$x]->created_at->format('d.m.Y').' - '.$orderDatas[$x]->note.' + ' . $orderDatas[$x]->created_at->format('d.m.Y') . ' + ' . $orderDatas[$x]->note . ' + POZ '; - - } - if($createOrder){ + if ($createOrder) { Flash::success("Sargyt Ustunlikli Goşuldy"); return [ '#order_datas' => $html_data, ]; - }else{ + } else { return Flash::error("Yalnyshlyk bar!!"); } - - } - - } diff --git a/plugins/romanah/gokbakja/components/Production.php b/plugins/romanah/gokbakja/components/Production.php index c439849..c9d718c 100644 --- a/plugins/romanah/gokbakja/components/Production.php +++ b/plugins/romanah/gokbakja/components/Production.php @@ -63,7 +63,7 @@ class Production extends ComponentBase ) ); - $producedAll = $currentDateFirst->all_amount - $currentDateLast->all_amount; + $producedAll = $currentDateLast->all_amount - $currentDateFirst->all_amount; $html_data = '
'; $html_data .= '

IŞLENEN ÇIG MAL

'; @@ -79,19 +79,23 @@ class Production extends ComponentBase
'; - for ($x = 0; $x < count($pivotFirsts); $x++) { + for ($x = 0; $x < count($pivotLasts); $x++) { + $diff = $pivotLasts[$x]->amount - $pivotFirsts[$x]->amount; + $diffPerc = ($diff * 100) / $producedAll; + $html_data .= '
-
'.($pivotFirsts[$x]->amount - $pivotLasts[$x]->amount).' kg
+
'.($diff).' kg

-

'.$pivotFirsts[$x]->product_name.' : '.($pivotFirsts[$x]->average_percentage - $pivotFirsts[$x]->average_percentage).'

+

'.$pivotLasts[$x]->product_name.' : '.($diffPerc).' %

'; } $html_data .= ''; + return [ '#calculation_of_day' => $html_data ]; diff --git a/plugins/romanah/gokbakja/models/BagSize.php b/plugins/romanah/gokbakja/models/BagSize.php index a3ef168..e9ba88f 100644 --- a/plugins/romanah/gokbakja/models/BagSize.php +++ b/plugins/romanah/gokbakja/models/BagSize.php @@ -17,7 +17,11 @@ class BagSize extends Model 'machine' => [ 'Romanah\Gokbakja\Models\ProductionMachine', 'key' => 'size_id' - ] + ], + 'order_items' => [ + 'Romanah\Gokbakja\Models\OrderItem', + 'key' => 'size_id' + ], ]; /** diff --git a/plugins/romanah/gokbakja/models/BagType.php b/plugins/romanah/gokbakja/models/BagType.php index 827edbf..55104f6 100644 --- a/plugins/romanah/gokbakja/models/BagType.php +++ b/plugins/romanah/gokbakja/models/BagType.php @@ -17,6 +17,10 @@ class BagType extends Model 'machine' => [ 'Romanah\Gokbakja\Models\ProductionMachine', 'key' => 'type_id' + ], + 'order_items' => [ + 'Romanah\Gokbakja\Models\OrderItem', + 'key' => 'type_id' ] ]; diff --git a/plugins/romanah/gokbakja/models/Shipping.php b/plugins/romanah/gokbakja/models/Shipping.php index 2af81b7..8140fd9 100644 --- a/plugins/romanah/gokbakja/models/Shipping.php +++ b/plugins/romanah/gokbakja/models/Shipping.php @@ -25,6 +25,13 @@ class Shipping extends Model ], ]; + + public $hasMany = [ + 'shipping_transport' => [ + 'Romanah\Gokbakja\Models\ShippingTransport', + 'key' => 'shipping_id' + ] + ]; /** * @var string The database table used by the model. */ diff --git a/plugins/romanah/gokbakja/models/ShippingTransport.php b/plugins/romanah/gokbakja/models/ShippingTransport.php new file mode 100644 index 0000000..c66af9f --- /dev/null +++ b/plugins/romanah/gokbakja/models/ShippingTransport.php @@ -0,0 +1,33 @@ + [ + 'Romanah\Gokbakja\Models\Shipping', + 'key' => 'shipping_id' + ] + ]; + /** + * @var array Validation rules + */ + public $rules = [ + ]; +} diff --git a/plugins/romanah/gokbakja/updates/builder_table_create_romanah_gokbakja_shipping_transport.php b/plugins/romanah/gokbakja/updates/builder_table_create_romanah_gokbakja_shipping_transport.php new file mode 100644 index 0000000..2d40338 --- /dev/null +++ b/plugins/romanah/gokbakja/updates/builder_table_create_romanah_gokbakja_shipping_transport.php @@ -0,0 +1,28 @@ +engine = 'InnoDB'; + $table->increments('id')->unsigned(); + $table->timestamp('created_at')->nullable(); + $table->timestamp('updated_at')->nullable(); + $table->timestamp('deleted_at')->nullable(); + $table->string('transport_type')->default('truck'); + $table->string('place_now'); + $table->double('loaded_amount', 10, 0)->default(0); + $table->text('note')->nullable(); + }); + } + + public function down() + { + Schema::dropIfExists('romanah_gokbakja_shipping_transport'); + } +} diff --git a/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_order_5.php b/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_order_5.php new file mode 100644 index 0000000..102d67a --- /dev/null +++ b/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_order_5.php @@ -0,0 +1,25 @@ +dropColumn('price'); + $table->dropColumn('amount'); + }); + } + + public function down() + { + Schema::table('romanah_gokbakja_order', function($table) + { + $table->double('price', 10, 0); + $table->double('amount', 10, 0); + }); + } +} diff --git a/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport.php b/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport.php new file mode 100644 index 0000000..7ff18b4 --- /dev/null +++ b/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport.php @@ -0,0 +1,23 @@ +integer('shipping_id'); + }); + } + + public function down() + { + Schema::table('romanah_gokbakja_shipping_transport', function($table) + { + $table->dropColumn('shipping_id'); + }); + } +} diff --git a/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport_2.php b/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport_2.php new file mode 100644 index 0000000..a92a930 --- /dev/null +++ b/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport_2.php @@ -0,0 +1,23 @@ +string('transport_no')->nullable(); + }); + } + + public function down() + { + Schema::table('romanah_gokbakja_shipping_transport', function($table) + { + $table->dropColumn('transport_no'); + }); + } +} diff --git a/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport_3.php b/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport_3.php new file mode 100644 index 0000000..424432d --- /dev/null +++ b/plugins/romanah/gokbakja/updates/builder_table_update_romanah_gokbakja_shipping_transport_3.php @@ -0,0 +1,23 @@ +string('status')->default('loading'); + }); + } + + public function down() + { + Schema::table('romanah_gokbakja_shipping_transport', function($table) + { + $table->dropColumn('status'); + }); + } +} diff --git a/plugins/romanah/gokbakja/updates/version.yaml b/plugins/romanah/gokbakja/updates/version.yaml index e9a7468..86df2fa 100644 --- a/plugins/romanah/gokbakja/updates/version.yaml +++ b/plugins/romanah/gokbakja/updates/version.yaml @@ -180,3 +180,18 @@ 1.0.61: - 'Updated table romanah_gokbakja_order_item' - builder_table_update_romanah_gokbakja_order_item_4.php +1.0.62: + - 'Updated table romanah_gokbakja_order' + - builder_table_update_romanah_gokbakja_order_5.php +1.0.63: + - 'Created table romanah_gokbakja_shipping_transport' + - builder_table_create_romanah_gokbakja_shipping_transport.php +1.0.64: + - 'Updated table romanah_gokbakja_shipping_transport' + - builder_table_update_romanah_gokbakja_shipping_transport.php +1.0.65: + - 'Updated table romanah_gokbakja_shipping_transport' + - builder_table_update_romanah_gokbakja_shipping_transport_2.php +1.0.66: + - 'Updated table romanah_gokbakja_shipping_transport' + - builder_table_update_romanah_gokbakja_shipping_transport_3.php diff --git a/themes/gokbakja/pages/orders/new.htm b/themes/gokbakja/pages/orders/new.htm index 91de43f..c83aed4 100644 --- a/themes/gokbakja/pages/orders/new.htm +++ b/themes/gokbakja/pages/orders/new.htm @@ -48,14 +48,7 @@ function onStart(){ placeholder="Sargyt edilen halta kg-da"> --> - -
-
- - -
-
+
@@ -105,9 +98,11 @@ function onStart(){ Ýurdy Mukdary Bahasy - Logistika + Tölenen + Bergisi Senesi Bellik + Sazlamalar @@ -121,9 +116,11 @@ function onStart(){ Ýurdy Mukdary Bahasy - Logistika + Tölenen + Bergisi Senesi Bellik + Sazlamalar diff --git a/themes/gokbakja/pages/orders/order-detail.htm b/themes/gokbakja/pages/orders/order-detail.htm index 468fc03..e48d4a5 100644 --- a/themes/gokbakja/pages/orders/order-detail.htm +++ b/themes/gokbakja/pages/orders/order-detail.htm @@ -8,8 +8,22 @@ is_hidden = 0 param("orderId"); + $orderId = $this->param("orderId"); - $this["order"] = Romanah\Gokbakja\Models\Order::where("id", $orderId)->with(["client", "shipping"])->first(); + $this["order"] = Romanah\Gokbakja\Models\Order::where("id", $orderId)->with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function($query) { + $query->select(DB::raw('sum(price)')); + }]) + ->first(); + + $this["all"] = ($this["order"]->order_all_amount * $this["order"]->order_all_price); + + $this["orderItems"] = Romanah\Gokbakja\Models\OrderItem::where("order_id", $orderId)->orderBy("id", "DESC")->with(["type", "size"])->get(); + $this["sizes"] = Romanah\Gokbakja\Models\BagSize::get(); $this["types"] = Romanah\Gokbakja\Models\BagType::get(); @@ -44,21 +58,7 @@ function onStart(){
@@ -130,58 +130,8 @@ function onStart(){
-
-
-
-
-
-
-
-
- - - -
-
-
Sargyt #{{order.id}}
-

Sargyt No

-
-
-
-
-
-
- - - -
-
-
{{order.client.name}}
-

Sargyt ediji

-
-
-
-
-
-
- - - -
-
-
{{order.price}} $
-

Umumy Bahasy

-
-
-
-
-
-
-
-
+ {% partial "order/item_header" orderId=order.id clientName=order.client.name + allAmount=order.order_all_amount allPrice=order.order_all_price all=all %}
@@ -194,7 +144,8 @@ function onStart(){
+ role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Haryt + Goş
@@ -204,34 +155,54 @@ function onStart(){ № - Sargyt No - Klent - Ýurdy - Mukdary + Görnüş + Razmer Bahasy - Logistika - Senesi + Mukdary Bellik - - + + {% for key, item in orderItems %} + + {{(key+1)}} + {{item.type.name}} + {{item.size.name}} + {{item.price|number_format}} $ + + {{item.amount}} + {{item.note}} + + {% endfor %} № - Sargyt No - Klent - Ýurdy - Mukdary + Görnüş + Razmer Bahasy - Logistika - Senesi + Mukdary Bellik +
+ diff --git a/themes/gokbakja/pages/orders/order-detaillogistics.htm b/themes/gokbakja/pages/orders/order-detaillogistics.htm new file mode 100644 index 0000000..2177c55 --- /dev/null +++ b/themes/gokbakja/pages/orders/order-detaillogistics.htm @@ -0,0 +1,213 @@ +title = "order-detail/logistics" +url = "/order-detail/logistics/:orderId" +layout = "platform_main" +is_hidden = 0 + +[order] +== +param("orderId"); + + $orderId = $this->param("orderId"); + + $this["order"] = Romanah\Gokbakja\Models\Order::where("id", $orderId)->with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function($query) { + $query->select(DB::raw('sum(price)')); + }]) + ->first(); + + $this["all"] = ($this["order"]->order_all_amount * $this["order"]->order_all_price); + + $this["transports"] = Romanah\Gokbakja\Models\ShippingTransport::where("shipping_id", $this["order"]->shipping_id)->orderBy("id", "DESC")->get(); + + $this["allLoaded"] = Romanah\Gokbakja\Models\ShippingTransport::where("shipping_id", $this["order"]->shipping_id)->sum("loaded_amount"); + +} +?> +== +{% put styles %} + + + + + +{% endput %} + +
+ + +
+
+
+

Sargyt Maglumatlary

+ +
+
+
+ + +
+
+ + + + + + + + +
+
+ +
+ + +{% put scripts %} + + + + +{% endput %} +{% partial 'dataTableJs' %} diff --git a/themes/gokbakja/pages/orders/order-detailpayment.htm b/themes/gokbakja/pages/orders/order-detailpayment.htm new file mode 100644 index 0000000..e34c194 --- /dev/null +++ b/themes/gokbakja/pages/orders/order-detailpayment.htm @@ -0,0 +1,194 @@ +title = "order-detail/payment" +url = "/order-detail/payment/:orderId" +layout = "platform_main" +is_hidden = 0 + +[order] +== +param("orderId"); + + $orderId = $this->param("orderId"); + + $this["order"] = Romanah\Gokbakja\Models\Order::where("id", $orderId)->with(["client", "shipping"]) + ->withCount(['order_items as order_all_amount' => function($query) { + $query->select(DB::raw('sum(amount)')); + }]) + ->withCount(['order_items as order_all_price' => function($query) { + $query->select(DB::raw('sum(price)')); + }]) + ->first(); + + $this["all"] = ($this["order"]->order_all_amount * $this["order"]->order_all_price); + + $this["payments"] = Romanah\Gokbakja\Models\Payment::where("order_id", $orderId)->orderBy("id", "DESC")->get(); + + $this["allPaid"] = Romanah\Gokbakja\Models\Payment::where("order_id", $orderId)->sum("amount"); + $this["allNot"] = ($this["all"] - $this["allPaid"]); + +} +?> +== +{% put styles %} + + + + + +{% endput %} + +
+ + +
+
+
+

Sargyt Maglumatlary

+ +
+
+
+ + +
+
+ + + + + + + + +
+
+ +
+ + +{% put scripts %} + + + + +{% endput %} +{% partial 'dataTableJs' %} diff --git a/themes/gokbakja/partials/order/aside.htm b/themes/gokbakja/partials/order/aside.htm new file mode 100644 index 0000000..44fcff3 --- /dev/null +++ b/themes/gokbakja/partials/order/aside.htm @@ -0,0 +1,14 @@ +[viewBag] +== + + Yza + +
+ + Sargyt Maglumatlary + Logistika + Maglumatlary + + Tölegler + +
diff --git a/themes/gokbakja/partials/order/item_header.htm b/themes/gokbakja/partials/order/item_header.htm new file mode 100644 index 0000000..bbe2d24 --- /dev/null +++ b/themes/gokbakja/partials/order/item_header.htm @@ -0,0 +1,68 @@ +[viewBag] +== +
+
+
+
+
+
+
+
+ + + +
+
+
Sargyt #{{orderId}}
+

Sargyt No

+
+
+
+
+
+
+ + + +
+
+
{{clientName}}
+

Sargyt ediji

+
+
+
+
+
+
+ + + +
+
+
{{allAmount}} kg
+

Umumy Mukdary

+
+
+
+
+
+
+ + + +
+
+
{{allPrice}} $
+

Jemi Bahasy: {{all|number_format}} $

+
+
+
+
+
+
+
+