bug fix in hesabdariDoc and buy list invoices

This commit is contained in:
Hesabix 2025-08-20 16:56:14 +00:00
parent 8d91bcd4ea
commit 0f954ba6a1
3 changed files with 31 additions and 36 deletions

View file

@ -7,6 +7,7 @@ use App\Entity\HesabdariRow;
use App\Entity\HesabdariTable; use App\Entity\HesabdariTable;
use App\Service\Access; use App\Service\Access;
use App\Service\Extractor; use App\Service\Extractor;
use App\Service\Provider;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\JsonResponse;
@ -19,12 +20,14 @@ class HesabdariDocController extends AbstractController
private $em; private $em;
private $access; private $access;
private $extractor; private $extractor;
private $provider;
public function __construct(EntityManagerInterface $em, Access $access, Extractor $extractor) public function __construct(EntityManagerInterface $em, Access $access, Extractor $extractor, Provider $provider)
{ {
$this->em = $em; $this->em = $em;
$this->access = $access; $this->access = $access;
$this->extractor = $extractor; $this->extractor = $extractor;
$this->provider = $provider;
} }
#[Route('/hesabdari/tables', name: 'get_hesabdari_tables', methods: ['GET'])] #[Route('/hesabdari/tables', name: 'get_hesabdari_tables', methods: ['GET'])]
@ -103,7 +106,7 @@ class HesabdariDocController extends AbstractController
$doc->setDate($data['date']); $doc->setDate($data['date']);
$doc->setDateSubmit((string) time()); $doc->setDateSubmit((string) time());
$doc->setType('doc'); $doc->setType('doc');
$doc->setCode($this->generateDocCode($accessData['bid'])); $doc->setCode($this->provider->getAccountingCode($accessData['bid'], 'accounting'));
$totalBd = 0; $totalBd = 0;
$totalBs = 0; $totalBs = 0;
@ -190,13 +193,5 @@ class HesabdariDocController extends AbstractController
return new JsonResponse($this->extractor->operationSuccess(['id' => $doc->getId()], 'سند با موفقیت ویرایش شد')); return new JsonResponse($this->extractor->operationSuccess(['id' => $doc->getId()], 'سند با موفقیت ویرایش شد'));
} }
private function generateDocCode($business): string
{
$lastDoc = $this->em->getRepository(HesabdariDoc::class)->findOneBy(
['bid' => $business],
['code' => 'DESC']
);
$newCode = $lastDoc ? ((int) $lastDoc->getCode() + 1) : 1;
return (string) $newCode;
}
} }

View file

@ -273,31 +273,31 @@ export default defineComponent({
data() { data() {
return { return {
currentTab: 'approved', currentTab: 'approved',
printModal: false, printModal: false,
printOptions: { printOptions: {
pays: true, pays: true,
note: true, note: true,
bidInfo: true, bidInfo: true,
taxInfo: true, taxInfo: true,
discountInfo: true, discountInfo: true,
selectedPrintCode: 0, selectedPrintCode: 0,
paper: 'A4-L' paper: 'A4-L'
}, },
paperSizes: [ paperSizes: [
{ title: 'A4 عمودی', value: 'A4' }, { title: 'A4 عمودی', value: 'A4' },
{ title: 'A4 افقی', value: 'A4-L' }, { title: 'A4 افقی', value: 'A4-L' },
{ title: 'A5 عمودی', value: 'A5' }, { title: 'A5 عمودی', value: 'A5' },
{ title: 'A5 افقی', value: 'A5-L' }, { title: 'A5 افقی', value: 'A5-L' },
], ],
business: { requireTwoStepApproval: false, approvers: { buyInvoice: null } }, business: { requireTwoStepApproval: false, approvers: { buyInvoice: null } },
currentUser: { email: '', owner: false }, currentUser: { email: '', owner: false },
sumSelected: 0, sumSelected: 0,
sumTotal: 0, sumTotal: 0,
itemsSelected: [], itemsSelected: [],
searchValue: '', searchValue: '',
types: [], types: [],
loading: false, loading: false,
items: [], items: [],
itemsApproved: [], itemsApproved: [],
itemsPending: [], itemsPending: [],
total: 0, total: 0,
@ -731,9 +731,9 @@ export default defineComponent({
const item = this.items.find(item => item.code === code); const item = this.items.find(item => item.code === code);
if (item && item.amount) { if (item && item.amount) {
if (typeof item.amount === "string") { if (typeof item.amount === "string") {
this.sumSelected += parseInt(item.amount.replaceAll(",", "")); this.sumSelected += parseInt(item.amount.replaceAll(",", ""));
} else { } else {
this.sumSelected += item.amount; this.sumSelected += item.amount;
} }
} }
} }

0
webUI/src/views/acc/rfsell/list.vue Executable file → Normal file
View file