bug fixes
This commit is contained in:
parent
613321c07a
commit
508b82f5e8
|
@ -16,6 +16,7 @@ use App\Entity\Business;
|
|||
use App\Entity\Hook;
|
||||
use App\Entity\Year;
|
||||
use App\Service\Access;
|
||||
use App\Service\Explore;
|
||||
use App\Service\Jdate;
|
||||
use App\Service\Log;
|
||||
use App\Service\Provider;
|
||||
|
@ -74,7 +75,7 @@ class BusinessController extends AbstractController
|
|||
$response['website'] = $bus->getWesite();
|
||||
$response['email'] = $bus->getEmail();
|
||||
$response['maliyatafzode'] = $bus->getMaliyatafzode();
|
||||
$response['arzmain'] = $bus->getMoney()->getName();
|
||||
$response['arzmain'] = Explore::ExploreMoney($bus->getMoney());
|
||||
$response['type'] = $bus->getType();
|
||||
$response['zarinpalCode'] = $bus->getZarinpalCode();
|
||||
$response['smsCharge'] = $bus->getSmsCharge();
|
||||
|
@ -83,6 +84,12 @@ class BusinessController extends AbstractController
|
|||
$response['walletMatchBank'] = null;
|
||||
if ($bus->isWalletEnable())
|
||||
$response['walletMatchBank'] = $provider->Entity2Array($bus->getWalletMatchBank(), 0);
|
||||
$year = $entityManager->getRepository(Year::class)->findOneBy([
|
||||
'bid' => $bus,
|
||||
'head'=>true
|
||||
]);
|
||||
$response['year'] = Explore::ExploreYear($year);
|
||||
|
||||
return $this->json($response);
|
||||
}
|
||||
|
||||
|
@ -235,6 +242,20 @@ class BusinessController extends AbstractController
|
|||
$entityManager->persist($year);
|
||||
$entityManager->flush();
|
||||
}
|
||||
else{
|
||||
//not new business update business year
|
||||
$year = $entityManager->getRepository(Year::class)->findOneBy([
|
||||
'bid' => $business,
|
||||
'head'=>true
|
||||
]);
|
||||
$startYearArray = explode('-', $params['year']['startShamsi']);
|
||||
$year->setStart($jdate->jmktime(0, 0, 0, $startYearArray[1], $startYearArray[2], $startYearArray[0]));
|
||||
$endYearArray = explode('-', $params['year']['endShamsi']);
|
||||
$year->setEnd($jdate->jmktime(0, 0, 0, $endYearArray[1], $endYearArray[2], $endYearArray[0]));
|
||||
$year->setLabel($params['year']['label']);
|
||||
$entityManager->persist($year);
|
||||
$entityManager->flush();
|
||||
}
|
||||
//add log to system
|
||||
$log->insert('تنظیمات پایه', 'اطلاعات کسب و کار ایجاد/ویرایش شد.', $this->getUser(), $business);
|
||||
}
|
||||
|
|
|
@ -2,16 +2,19 @@
|
|||
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Entity\HesabdariDoc;
|
||||
use App\Entity\HesabdariRow;
|
||||
use App\Entity\Person;
|
||||
use App\Service\Access;
|
||||
use App\Service\pdfMGR;
|
||||
use App\Service\Provider;
|
||||
use App\Entity\HesabdariDoc;
|
||||
use App\Entity\HesabdariRow;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||
use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
|
||||
class ReportController extends AbstractController
|
||||
{
|
||||
|
@ -62,6 +65,7 @@ class ReportController extends AbstractController
|
|||
foreach ($result as $item) {
|
||||
$temp = [
|
||||
'id' => $item->getCommodity()->getId(),
|
||||
'rowId' => $item->getId(),
|
||||
'code' => $item->getCommodity()->getCode(),
|
||||
'khadamat' => $item->getCommodity()->isKhadamat(),
|
||||
'name' => $item->getCommodity()->getName(),
|
||||
|
@ -86,4 +90,57 @@ class ReportController extends AbstractController
|
|||
}
|
||||
return $this->json($response);
|
||||
}
|
||||
|
||||
#[Route('/api/report/person/buysell/export/excel', name: 'app_report_person_buysell_export_excell')]
|
||||
public function app_report_person_buysell_export_excell(Provider $provider, Access $access, Request $request, EntityManagerInterface $entityManagerInterface): BinaryFileResponse | JsonResponse | StreamedResponse
|
||||
{
|
||||
$acc = $access->hasRole('reports');
|
||||
if (!$acc)
|
||||
throw $this->createAccessDeniedException();
|
||||
$params = [];
|
||||
if ($content = $request->getContent()) {
|
||||
$params = json_decode($content, true);
|
||||
}
|
||||
|
||||
$items = [];
|
||||
foreach ($params['items'] as $param) {
|
||||
$prs = $entityManagerInterface->getRepository(HesabdariRow::class)->findOneBy([
|
||||
'id' => $param['rowId'],
|
||||
'bid' => $acc['bid']
|
||||
]);
|
||||
if ($prs)
|
||||
$items[] = $prs;
|
||||
}
|
||||
|
||||
$response = [];
|
||||
foreach ($items as $item) {
|
||||
$temp = [
|
||||
'id' => $item->getCommodity()->getId(),
|
||||
'code' => $item->getCommodity()->getCode(),
|
||||
'khadamat' => $item->getCommodity()->isKhadamat(),
|
||||
'name' => $item->getCommodity()->getName(),
|
||||
'unit' => $item->getCommodity()->getUnit()->getName(),
|
||||
'count' => $item->getCommdityCount(),
|
||||
'date' => $item->getDoc()->getDate(),
|
||||
'docCode' => $item->getDoc()->getCode(),
|
||||
'type' => $item->getDoc()->getType()
|
||||
];
|
||||
if ($item->getDoc()->getType() == 'buy') {
|
||||
$temp['priceAll'] = $item->getBd();
|
||||
} elseif ($item->getDoc()->getType() == 'sell') {
|
||||
$temp['priceAll'] = $item->getBs();
|
||||
}
|
||||
if ($temp['count'] != 0) {
|
||||
$temp['priceOne'] = $temp['priceAll'] / $temp['count'];
|
||||
$temp['priceAll'] = number_format($temp['priceAll']);
|
||||
$temp['priceOne'] = number_format($temp['priceOne']);
|
||||
$temp['count'] = number_format($temp['count']);
|
||||
$response[] = $temp;
|
||||
}
|
||||
}
|
||||
$labels = [
|
||||
'کد حسابداری'
|
||||
];
|
||||
return new BinaryFileResponse($provider->createExcellFromArray($response));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -97,13 +97,15 @@ class SupportController extends AbstractController
|
|||
#[Route('/api/support/list', name: 'app_support_list')]
|
||||
public function app_support_list(Jdate $jdate, EntityManagerInterface $entityManager): JsonResponse
|
||||
{
|
||||
$items = $entityManager->getRepository(Support::class)->findBy([
|
||||
$items = $entityManager->getRepository(Support::class)->findBy(
|
||||
[
|
||||
'submitter' => $this->getUser(),
|
||||
'main' => 0
|
||||
],
|
||||
[
|
||||
'id' => 'DESC'
|
||||
]);
|
||||
]
|
||||
);
|
||||
foreach ($items as $item) {
|
||||
$item->setDateSubmit($jdate->jdate('Y/n/d H:i', $item->getDateSubmit()));
|
||||
}
|
||||
|
@ -141,8 +143,7 @@ class SupportController extends AbstractController
|
|||
'url' => $item->getId()
|
||||
]);
|
||||
}
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
if (array_key_exists('body', $params)) {
|
||||
$item = new Support();
|
||||
$upper = $entityManager->getRepository(Support::class)->find($id);
|
||||
|
@ -159,14 +160,11 @@ class SupportController extends AbstractController
|
|||
$entityManager->persist($upper);
|
||||
$entityManager->flush();
|
||||
//send sms to manager
|
||||
$admins = $entityManager->getRepository(User::class)->findByRole('ROLE_ADMIN');
|
||||
foreach($admins as $admin){
|
||||
$SMS->send(
|
||||
[$item->getId()],
|
||||
$registryMGR->get('sms', 'ticketRec'),
|
||||
$admin->getMobile()
|
||||
$registryMGR->get('ticket', 'managerMobile')
|
||||
);
|
||||
}
|
||||
return $this->json([
|
||||
'error' => 0,
|
||||
'message' => 'ok',
|
||||
|
|
|
@ -251,13 +251,16 @@ class Explore
|
|||
}
|
||||
public static function ExploreYear(Year $year)
|
||||
{
|
||||
$jdate = new Jdate();
|
||||
return [
|
||||
'id' => $year->getId(),
|
||||
'label' => $year->getLabel(),
|
||||
'head' => $year->isHead(),
|
||||
'start' => $year->getStart(),
|
||||
'end' => $year->getEnd(),
|
||||
'now' => time()
|
||||
'now' => time(),
|
||||
'startShamsi'=> $jdate->jdate('Y-n-d',$year->getStart()),
|
||||
'endShamsi'=> $jdate->jdate('Y-n-d',$year->getEnd()),
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -170,6 +170,23 @@ class Provider
|
|||
$writer->save($filePath);
|
||||
return $filePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public function createExcellFromArray(array $entities,array $headers = null){
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$activeWorksheet = $spreadsheet->getActiveSheet();
|
||||
$activeWorksheet->fromArray($entities,null,'A1');
|
||||
$activeWorksheet->setRightToLeft(true);
|
||||
$activeWorksheet->getHeaderFooter()->setOddHeader('&CHeader of the Document');
|
||||
$writer = new Xlsx($spreadsheet);
|
||||
$filePath = __DIR__ . '/../../var/'.$this->RandomString(12).'.xlsx';
|
||||
$writer->save($filePath);
|
||||
return $filePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* function to generate random strings
|
||||
* @param int $length number of characters in the generated string
|
||||
|
|
Loading…
Reference in a new issue