bug fix in years list

This commit is contained in:
babak alizadeh 2024-07-19 21:34:13 +03:30
parent c9bf77eaa2
commit f8872804bd
4 changed files with 52 additions and 5 deletions

View file

@ -251,7 +251,9 @@ class BusinessController extends AbstractController
'bid' => $business, 'bid' => $business,
'head' => true 'head' => true
]); ]);
if(!$year){
$year = new Year;
}
$startYearArray = explode('-', $params['year']['startShamsi']); $startYearArray = explode('-', $params['year']['startShamsi']);
if(count($startYearArray) == 1) $startYearArray = explode('/', $params['year']['startShamsi']); if(count($startYearArray) == 1) $startYearArray = explode('/', $params['year']['startShamsi']);

View file

@ -94,7 +94,6 @@ class CommodityController extends AbstractController
} }
$temp['count'] = $count; $temp['count'] = $count;
} }
$res[] = $temp; $res[] = $temp;
} }
return $this->json($res); return $this->json($res);
@ -160,6 +159,29 @@ class CommodityController extends AbstractController
$temp['count'] = $count; $temp['count'] = $count;
} }
//calculate other prices
$pricesAll = $entityManager->getRepository(PriceList::class)->findBy([
'bid' => $acc['bid']
]);
foreach ($pricesAll as $list) {
$priceDetails = $entityManager->getRepository(PriceListDetail::class)->findOneBy([
'list' => $list,
'commodity' => $item
]);
if ($priceDetails) {
$temp['prices'][] = Explore::ExploreCommodityPriceListDetail($priceDetails);
} else {
$spd = new PriceListDetail;
$spd->setList($list);
$spd->setMoney($acc['bid']->getMoney());
$spd->setCommodity($item);
$spd->setPriceBuy(0);
$spd->setPriceSell(0);
$entityManager->persist($spd);
$entityManager->flush();
$temp['prices'][] = Explore::ExploreCommodityPriceListDetail($spd);
}
}
$res[] = $temp; $res[] = $temp;
} }
return $this->json($res); return $this->json($res);

View file

@ -21,6 +21,18 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class YearController extends AbstractController class YearController extends AbstractController
{ {
public function createDefaultYear(Business $bid,EntityManagerInterface $entityManagerInterface) : Year{
$year = new Year();
$year->setBid($bid);
$year->setHead(true);
$year->setLabel('سال مالی اول');
$year->setStart(time());
$year->setEnd(time() + 31563000);
$entityManagerInterface->persist($year);
$entityManagerInterface->flush();
return $year;
}
#[Route('/api/year/list', name: 'app_year_list')] #[Route('/api/year/list', name: 'app_year_list')]
public function app_year_list(Request $request, EntityManagerInterface $entityManager): JsonResponse public function app_year_list(Request $request, EntityManagerInterface $entityManager): JsonResponse
{ {
@ -30,6 +42,10 @@ class YearController extends AbstractController
$years = $entityManager->getRepository(Year::class)->findBy([ $years = $entityManager->getRepository(Year::class)->findBy([
'bid' => $business 'bid' => $business
]); ]);
if (count($years) == 0) {
//no year created create first year
$years = [$this->createDefaultYear($business,$entityManager)];
}
return $this->json($years); return $this->json($years);
} }

View file

@ -337,9 +337,16 @@ class Explore
'name' => $money->getName(), 'name' => $money->getName(),
]; ];
} }
public static function ExploreYear(Year $year) public static function ExploreYear(Year | null $year)
{ {
$jdate = new Jdate(); $jdate = new Jdate();
if(!$year){
$year = new Year();
$year->setHead(true);
$year->setLabel('سال مالی اول');
$year->setStart(time());
$year->setEnd(time() + 31536000);
}
return [ return [
'id' => $year->getId(), 'id' => $year->getId(),
'label' => $year->getLabel(), 'label' => $year->getLabel(),
@ -347,8 +354,8 @@ class Explore
'start' => $year->getStart(), 'start' => $year->getStart(),
'end' => $year->getEnd(), 'end' => $year->getEnd(),
'now' => time(), 'now' => time(),
'startShamsi' => $jdate->jdate('Y-n-d', $year->getStart()), 'startShamsi' => $jdate->jdate('Y/n/d', $year->getStart()),
'endShamsi' => $jdate->jdate('Y-n-d', $year->getEnd()), 'endShamsi' => $jdate->jdate('Y/n/d', $year->getEnd()),
]; ];
} }