diff --git a/hesabixCore/src/Controller/Front/UiGeneralController.php b/hesabixCore/src/Controller/Front/UiGeneralController.php index a41a492..c698a4d 100644 --- a/hesabixCore/src/Controller/Front/UiGeneralController.php +++ b/hesabixCore/src/Controller/Front/UiGeneralController.php @@ -136,4 +136,10 @@ class UiGeneralController extends AbstractController return $this->render('general/woocommerce.html.twig',); } + #[Route('/front/apps/repservice', name: 'general_apps_repservice')] + public function general_apps_repservice(EntityManagerInterface $entityManager): Response + { + return $this->render('general/repservice.html.twig',); + } + } diff --git a/hesabixCore/src/Controller/Plugins/PlugRepserviceController.php b/hesabixCore/src/Controller/Plugins/PlugRepserviceController.php index 10ca85e..d8228c0 100644 --- a/hesabixCore/src/Controller/Plugins/PlugRepserviceController.php +++ b/hesabixCore/src/Controller/Plugins/PlugRepserviceController.php @@ -14,6 +14,7 @@ use App\Service\registryMGR; use App\Entity\PlugRepserviceOrder; use App\Entity\PlugRepserviceOrderState; use App\Service\Explore; +use App\Service\Jdate; use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -57,6 +58,8 @@ class PlugRepserviceController extends AbstractController !array_key_exists('person', $params) || !array_key_exists('serial', $params) || !array_key_exists('motaleghat', $params) || + !array_key_exists('color', $params) || + !array_key_exists('model', $params) || !array_key_exists('date', $params) ) return $this->json($extractor->paramsNotSend()); @@ -92,6 +95,8 @@ class PlugRepserviceController extends AbstractController $order->setCommodity($commodity); $order->setPerson($person); $order->setDate($params['date']); + $order->setModel($params['model']); + $order->setColor($params['color']); $order->setDes($params['des']); $order->setMotaleghat($params['motaleghat']); $order->setPelak($params['pelak']); @@ -131,7 +136,7 @@ class PlugRepserviceController extends AbstractController } #[Route('/api/plug/repservice/order/state/change', name: 'app_plug_repservice_order_state_change')] - public function app_plug_repservice_order_state_change(Provider $provider, registryMGR $registryMGR, SMS $sms, Log $log, EntityManagerInterface $entityManagerInterface, Access $access, Request $request, Extractor $extractor): JsonResponse + public function app_plug_repservice_order_state_change(Jdate $jdate,Provider $provider, registryMGR $registryMGR, SMS $sms, Log $log, EntityManagerInterface $entityManagerInterface, Access $access, Request $request, Extractor $extractor): JsonResponse { $acc = $access->hasRole('plugRepservice'); if (!$acc) @@ -163,6 +168,10 @@ class PlugRepserviceController extends AbstractController return $this->json($extractor->notFound()); } $order->setState($state); + //set dateout if proccess finish + if($state->getCode() == 'getback'){ + $order->setDateOut($jdate->jdate('Y-n-d',time())); + } $entityManagerInterface->persist($order); $entityManagerInterface->flush(); $log->insert('افزونه تعمیرکاران', ' وضعیت کالا با کد ' . $order->getCode() . ' به ' . $state->getLabel() . ' تغییر یافت. ', $this->getUser(), $acc['bid']->getId()); @@ -214,7 +223,7 @@ class PlugRepserviceController extends AbstractController $orders = $entityManagerInterface->getRepository(PlugRepserviceOrder::class)->findBy([ 'bid' => $acc['bid'] - ]); + ],['code'=>'DESC']); return $this->json($this->ExploreOrders($orders)); } @@ -229,7 +238,8 @@ class PlugRepserviceController extends AbstractController foreach ($items as $item) { $res[] = [ 'code' => $item->getCode(), - 'label' => $item->getLabel() + 'label' => $item->getLabel(), + 'checked'=>false ]; } return $this->json($res); @@ -245,21 +255,8 @@ class PlugRepserviceController extends AbstractController $item = $entityManager->getRepository(PlugRepserviceOrder::class)->findOneBy(['bid' => $acc['bid'], 'code' => $code]); if (!$item) throw $this->createNotFoundException(); - $temp = [ - 'update' => $item->getCode(), - 'date'=>$item->getDate(), - 'des'=>$item->getDes(), - 'person'=>Explore::ExplorePerson($item->getPerson()), - 'pelak'=>$item->getPelak(), - 'serial'=>$item->getSerial(), - 'motaleghat'=>$item->getMotaleghat(), - 'commodity'=>Explore::ExploreCommodity($item->getCommodity()), - 'sms'=>true - ]; - if($item->getPerson()->getMobile() == null || $item->getPerson()->getMobile() == ''){ - $temp['sms'] = false; - } - return $this->json($temp); + + return $this->json($this->ExploreOrder($item)); } #[Route('/api/repservice/order/remove/{code}', name: 'app_plug_repservice_order_remove')] @@ -282,6 +279,7 @@ class PlugRepserviceController extends AbstractController { $temp = [ 'id' => $item->getId(), + 'update' => $item->getCode(), 'code' => $item->getCode(), 'person' => Explore::ExplorePerson($item->getPerson()), 'commodity' => Explore::ExploreCommodity($item->getCommodity()), @@ -295,8 +293,14 @@ class PlugRepserviceController extends AbstractController 'code' => $item->getState()->getCode(), 'label' => $item->getState()->getLabel() ], - 'sms' => true + 'dateOut'=>$item->getDateOut(), + 'model'=>$item->getModel(), + 'color'=>$item->getColor(), + 'sms'=>true, ]; + if($item->getPerson()->getMobile() == null || $item->getPerson()->getMobile() == ''){ + $temp['sms'] = false; + } return $temp; } diff --git a/hesabixCore/src/Entity/PlugRepserviceOrder.php b/hesabixCore/src/Entity/PlugRepserviceOrder.php index 1629a0c..e1eae3d 100644 --- a/hesabixCore/src/Entity/PlugRepserviceOrder.php +++ b/hesabixCore/src/Entity/PlugRepserviceOrder.php @@ -57,6 +57,15 @@ class PlugRepserviceOrder #[ORM\Column(length: 255, nullable: true)] private ?string $motaleghat = null; + #[ORM\Column(length: 255, nullable: true)] + private ?string $model = null; + + #[ORM\Column(length: 255, nullable: true)] + private ?string $color = null; + + #[ORM\Column(length: 50, nullable: true)] + private ?string $dateOut = null; + public function getId(): ?int { return $this->id; @@ -217,4 +226,40 @@ class PlugRepserviceOrder return $this; } + + public function getModel(): ?string + { + return $this->model; + } + + public function setModel(?string $model): static + { + $this->model = $model; + + return $this; + } + + public function getColor(): ?string + { + return $this->color; + } + + public function setColor(?string $color): static + { + $this->color = $color; + + return $this; + } + + public function getDateOut(): ?string + { + return $this->dateOut; + } + + public function setDateOut(?string $dateOut): static + { + $this->dateOut = $dateOut; + + return $this; + } } diff --git a/hesabixCore/templates/base.html.twig b/hesabixCore/templates/base.html.twig index 60f66dd..52edaac 100644 --- a/hesabixCore/templates/base.html.twig +++ b/hesabixCore/templates/base.html.twig @@ -1,275 +1,317 @@ {% set settings = twigFunctions.systemSettings() %} - - - - - - - - - حسابیکس - {% block title %}{% endblock %} - - - - - - - - - - - - - - - - - - - - - - {# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #} - {% block stylesheets %} - {% endblock %} - - {% block javascripts %} - {% endblock %} + + + + + + + + + حسابیکس - + {% block title %}{% endblock %} + + + + + + + + + + + + + + + + + + + + {# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #} + {% block stylesheets %}{% endblock %} + + {% block javascripts %}{% endblock %} - - -
- - + + +
+ ورود + عضویت + +
+
+ +
+ + - -
- -
- -
- - -
- {% block body %}{% endblock %} -
- -
- -
- {{settings.footer | raw}} - - -
- - - {{ settings.scripts | raw }} - - + +
+ +
+ +
+ + +
{% block body %}{% endblock %} +
+ +
+ +
+ {{settings.footer | raw}} + + +
+ + + {{ settings.scripts | raw }} + + diff --git a/hesabixCore/templates/general/repservice.html.twig b/hesabixCore/templates/general/repservice.html.twig new file mode 100644 index 0000000..dcff379 --- /dev/null +++ b/hesabixCore/templates/general/repservice.html.twig @@ -0,0 +1,105 @@ +{% extends "base.html.twig" %} +{% block title %}افزونه مدیریت تعمیرگاه)تعمیرکاران) +{% endblock %} +{% block body %} +
+ +
+
+
+

+ +

+

افزونه مدیریت تعمیرگاه

+

+ افزونه تعمیرکاران یکپارچه طراحی شد تا تمام نیازهای شما را در مدیریت تعمیرگاه و فروشگاه تان را بصورت کامل رفع + کند. +

+ + + + خرید در بازار حسابیکس + + +
+ +
+
+
+ + + +
+
+
+ +
+
+
+
+

+ افزونه مدیریت تعمیرگاه(تعمیرکاران) +

+

+ افزونه تعمیرکاران بهترین انتخاب برای مدیریت انواع مراکز تعمیر و خدمات و همچنین فروشگاه های در حال توسعه است؛ چرا که افزونه تعمیرکاران نیازی به نصب ندارد, همیشه با موبایل و کامپیوتر در دسترس است و رابط کاربری بسیار آسانی دارد و از همه مهمتر تمام نیازهای تعمیرگاه و فروشگاه را در قالب یک نرم افزار پشتیبانی می‌کند. + مناسب تمامی تعمیرگاه های تلفن همراه، کامپیوتر، خودرو، بردهای الکترونیکی، لوازم برقی، وسایل صوتی تصویری، یخچال فریزر، تلویزیون و… +

+ + +
+
+ +
+
+

امکانات:

+
    +
  • + صدور قبض های پذیرش تعمیرگاه قابل چاپ و پیامکی +
  • +
  • + بدون نیاز به خرید سرشماره پیامک خدماتی +
  • +
  • + گزارشات کامل از دستگاه های ورودی و خروجی تعمیرگاه +
  • +
  • + ثبت قبض های پذیرش بصورت آنلاین با گوشی +
  • +
  • + ارسال پیامک خودکار به تعمیرکار موقع ثبت پذیرش دستگاه تعمیری +
  • +
  • + مشاهده لیست دستگاه های تعمیری +
  • +
  • + درج سریال/پلاک دستگاه های تعمیری درقبض پذیرش +
  • +
  • + ارسال پیامک خودکار هنگام تغییر وضعیت دستگاه به آماده تحویل +
  • +
  • + مشاهده فاکتور تعمیرگاه بصورت آنلاین بصورت پیامکی +
  • +
  • + قابلیت چاپ قبض تعمیرگاه +
  • +
  • + قابلیت ارایه خروجی اکسل از تمام گزارشات تعمیرگاه +
  • +
  • + یکپارچه با + حسابیکس + و بسته حسابداری پیشرفته +
  • +
+
+
+ +
+
+
+ +
+{% endblock %} diff --git a/hesabixCore/templates/general/sitemap.html.twig b/hesabixCore/templates/general/sitemap.html.twig index 09b8651..d64f507 100644 --- a/hesabixCore/templates/general/sitemap.html.twig +++ b/hesabixCore/templates/general/sitemap.html.twig @@ -1,142 +1,151 @@ - - - https://hesabix.ir/ - {{ timeNow }} - 1.00 - - - https://hesabix.ir/front/faq - {{ timeNow }} - 0.80 - - - https://hesabix.ir/front/help/guide - {{ timeNow }} - 0.80 - - - https://hesabix.ir/front/blog/home - {{ timeNow }} - 0.80 - - - https://hesabix.ir/front/about - {{ timeNow }} - 0.80 - - - https://hesabix.ir/front/contact - {{ timeNow }} - 0.80 - - - https://hesabix.ir/front/terms - {{ timeNow }} - 0.80 - - - https://hesabix.ir/front/privacy - {{ timeNow }} - 0.80 - - - https://hesabix.ir/front/open-source - 2023-10-20T11:24:11+00:00 - 0.80 - - - https://hesabix.ir/front/help/guide/general - {{ timeNow }} - 0.80 - - - https://hesabix.ir/front/help/api - {{ timeNow }} - 0.80 - - - https://hesabix.ir/front/update-list - {{ timeNow }} - 0.80 - - - https://hesabix.ir/front/help/guide/person - {{ timeNow }} - 0.64 - - - https://hesabix.ir/front/help/guide/commodity - {{ timeNow }} - 0.64 - - - https://hesabix.ir/front/help/guide/banks - {{ timeNow }} - 0.64 - - - https://hesabix.ir/front/help/guide/buy - {{ timeNow }} - 0.64 - - - https://hesabix.ir/front/help/guide/sell - {{ timeNow }} - 0.64 - - - https://hesabix.ir/front/help/guide/reports - {{ timeNow }} - 0.64 - - - https://hesabix.ir/front/help/guide/settings - {{ timeNow }} - 0.64 - - - https://hesabix.ir/front/features/setup - 2023-11-10T16:17:43+00:00 - 0.80 - - - https://hesabix.ir/front/features/user_management - 2023-11-10T16:17:43+00:00 - 0.80 - - - https://hesabix.ir/front/features/buy_sell - 2023-11-10T16:17:43+00:00 - 0.80 - - - https://hesabix.ir/front/apps/woocommerce - 2023-11-10T16:17:43+00:00 - 0.80 - - - https://hesabix.ir/login - {{ timeNow }} - 0.64 - - {% for blog in blogs %} - - {{ absolute_url(path('general_blog_post',{'url':blog.url})) }} - {{ blog.dateSubmit | date('c') }} - 0.80 - - {% endfor %} - {% for doc in docs %} - - {{ absolute_url(path('general_help_api',{'id':doc.id})) }} - {% if doc.dateSubmit is null %}{{ timeNow }}{% else %}{{ doc.dateSubmit | date('c') }}{% endif %} - 0.80 - - {% endfor %} - \ No newline at end of file + xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 + http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> + + + https://hesabix.ir/ + {{ timeNow }} + 1.00 + + + https://hesabix.ir/front/faq + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/help/guide + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/blog/home + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/about + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/contact + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/terms + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/privacy + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/open-source + 2023-10-20T11:24:11+00:00 + 0.80 + + + https://hesabix.ir/front/help/guide/general + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/help/api + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/update-list + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/help/guide/person + {{ timeNow }} + 0.64 + + + https://hesabix.ir/front/help/guide/commodity + {{ timeNow }} + 0.64 + + + https://hesabix.ir/front/help/guide/banks + {{ timeNow }} + 0.64 + + + https://hesabix.ir/front/help/guide/buy + {{ timeNow }} + 0.64 + + + https://hesabix.ir/front/help/guide/sell + {{ timeNow }} + 0.64 + + + https://hesabix.ir/front/help/guide/reports + {{ timeNow }} + 0.64 + + + https://hesabix.ir/front/help/guide/settings + {{ timeNow }} + 0.64 + + + https://hesabix.ir/front/features/setup + 2023-11-10T16:17:43+00:00 + 0.80 + + + https://hesabix.ir/front/features/user_management + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/features/buy_sell + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/apps/woocommerce + {{ timeNow }} + 0.80 + + + https://hesabix.ir/front/apps/repservice + {{ timeNow }} + 0.80 + + + https://hesabix.ir/login + {{ timeNow }} + 0.64 + + {% for blog in blogs %} + + {{ absolute_url(path('general_blog_post',{'url':blog.url})) }} + {{ blog.dateSubmit | date('c') }} + 0.80 + + {% endfor %} + {% for doc in docs %} + + {{ absolute_url(path('general_help_api',{'id':doc.id})) }} + + {% if doc.dateSubmit is null %} + {{ timeNow }} + {% else %} + {{ doc.dateSubmit | date('c') }} + {% endif %} + + 0.80 + + {% endfor %} + diff --git a/hesabixCore/templates/repservice/view.html.twig b/hesabixCore/templates/repservice/view.html.twig index be5e554..46671be 100644 --- a/hesabixCore/templates/repservice/view.html.twig +++ b/hesabixCore/templates/repservice/view.html.twig @@ -58,7 +58,7 @@ {{bid.name}}

آدرس : - استان + استان {{bid.ostan}} شهرستان {{bid.shahrestan}} @@ -86,7 +86,7 @@ {{ person.nikename }}

آدرس : - استان + استان {{person.ostan}} شهرستان {{person.shahr}} @@ -124,10 +124,21 @@
تاریخ: {{order.date}}
+
+ تاریخ تحویل: + {{order.dateOut}}

شرح: {{order.des}}

+

+ مدل: + {{order.model}} +

+

+ رنگ: + {{order.color}} +

متعلقات: {{order.motaleghat}} @@ -141,7 +152,7 @@ {{order.pelak}}

- وضعیت + وضعیت {{order.state.label}}
diff --git a/public_html/img/plugins/repservice.jpg b/public_html/img/plugins/repservice.jpg new file mode 100644 index 0000000..8879fa4 Binary files /dev/null and b/public_html/img/plugins/repservice.jpg differ diff --git a/public_html/img/plugins/repservice.png b/public_html/img/plugins/repservice.png new file mode 100644 index 0000000..d09e07e Binary files /dev/null and b/public_html/img/plugins/repservice.png differ