forked from morrning/hesabixCore
689 lines
24 KiB
PHP
689 lines
24 KiB
PHP
<?php
|
|
|
|
namespace App\Service;
|
|
|
|
use App\Entity\BankAccount;
|
|
use App\Entity\CommodityCat;
|
|
use App\Entity\DashboardSettings;
|
|
use App\Entity\Project;
|
|
use App\Entity\Storeroom;
|
|
use App\Entity\Support;
|
|
use App\Entity\User;
|
|
use App\Entity\Year;
|
|
use App\Entity\Business;
|
|
use App\Entity\Cashdesk;
|
|
use App\Entity\Cheque;
|
|
use App\Entity\Commodity;
|
|
use App\Entity\HesabdariDoc;
|
|
use App\Entity\HesabdariRow;
|
|
use App\Entity\HesabdariTable;
|
|
use App\Entity\Money;
|
|
use App\Entity\Person;
|
|
use App\Entity\PersonType;
|
|
use App\Entity\PriceListDetail;
|
|
use App\Entity\Salary;
|
|
|
|
class Explore
|
|
{
|
|
public static function ExploreCommodityPriceList($items)
|
|
{
|
|
$result = [];
|
|
foreach ($items as $item)
|
|
$result[] = self::ExploreCommodityPriceListOne($item);
|
|
return $result;
|
|
}
|
|
public static function ExploreCommodityPriceListOne($item)
|
|
{
|
|
return [
|
|
'id' => $item->getId(),
|
|
'label' => $item->getLabel(),
|
|
];
|
|
}
|
|
public static function ExplorePersonType(PersonType $type)
|
|
{
|
|
return [
|
|
'label' => $type->getLabel(),
|
|
'code' => $type->getCode(),
|
|
'checked' => false
|
|
];
|
|
}
|
|
|
|
public static function ExplorePersonTypes($types)
|
|
{
|
|
$result = [];
|
|
foreach ($types as $type)
|
|
$result[] = self::ExplorePersonType($type);
|
|
return $result;
|
|
}
|
|
public static function ExploreSellDoc(HesabdariDoc $hesabdariDoc)
|
|
{
|
|
$result = self::ExploreHesabdariDoc($hesabdariDoc);
|
|
$person = [];
|
|
foreach ($hesabdariDoc->getHesabdariRows() as $item) {
|
|
if ($item->getPerson()) {
|
|
$person = self::ExplorePerson($item->getPerson());
|
|
} elseif ($item->getRef()->getCode() == '104') {
|
|
$result['discountAll'] = $item->getBd();
|
|
$result['discountType'] = $hesabdariDoc->getDiscountType();
|
|
$result['discountPercent'] = $hesabdariDoc->getDiscountPercent();
|
|
} elseif ($item->getRef()->getCode() == '61') {
|
|
$result['transferCost'] = $item->getBs();
|
|
}
|
|
}
|
|
if (!array_key_exists('discountAll', $result))
|
|
$result['discountAll'] = 0;
|
|
if (!array_key_exists('transferCost', $result))
|
|
$result['transferCost'] = 0;
|
|
if (!array_key_exists('discountType', $result))
|
|
$result['discountType'] = 'fixed';
|
|
if (!array_key_exists('discountPercent', $result))
|
|
$result['discountPercent'] = null;
|
|
$result['person'] = $person;
|
|
$result['pair_docs'] = [];
|
|
foreach ($hesabdariDoc->getPairDoc() as $pair) {
|
|
$result['pair_docs'][] = $pair->getCode();
|
|
}
|
|
return $result;
|
|
}
|
|
|
|
public static function ExploreRfbuyDoc(HesabdariDoc $hesabdariDoc)
|
|
{
|
|
$result = self::ExploreHesabdariDoc($hesabdariDoc);
|
|
$person = [];
|
|
$commodities = [];
|
|
foreach ($hesabdariDoc->getHesabdariRows() as $item) {
|
|
if ($item->getPerson()) {
|
|
$person = self::ExplorePerson($item->getPerson());
|
|
} elseif ($item->getCommodity()) {
|
|
$commodities[] = Explore::ExploreCommodity($item->getCommodity(), $item->getCommdityCount(), $item->getDes());
|
|
}
|
|
}
|
|
$result['person'] = $person;
|
|
return $result;
|
|
}
|
|
|
|
public static function ExploreBuyDoc(HesabdariDoc $hesabdariDoc)
|
|
{
|
|
$result = self::ExploreHesabdariDoc($hesabdariDoc);
|
|
$person = [];
|
|
foreach ($hesabdariDoc->getHesabdariRows() as $item) {
|
|
if ($item->getPerson()) {
|
|
$person = self::ExplorePerson($item->getPerson());
|
|
} elseif ($item->getRef()->getCode() == '51') {
|
|
$result['discountAll'] = $item->getBs();
|
|
$result['discountType'] = $hesabdariDoc->getDiscountType();
|
|
$result['discountPercent'] = $hesabdariDoc->getDiscountPercent();
|
|
} elseif ($item->getRef()->getCode() == '90') {
|
|
$result['transferCost'] = $item->getBd();
|
|
}
|
|
}
|
|
if (!array_key_exists('discountAll', $result))
|
|
$result['discountAll'] = 0;
|
|
if (!array_key_exists('transferCost', $result))
|
|
$result['transferCost'] = 0;
|
|
if (!array_key_exists('discountType', $result))
|
|
$result['discountType'] = 'fixed';
|
|
if (!array_key_exists('discountPercent', $result))
|
|
$result['discountPercent'] = null;
|
|
$result['person'] = $person;
|
|
return $result;
|
|
}
|
|
public static function ExploreRfsellDoc(HesabdariDoc $hesabdariDoc)
|
|
{
|
|
$result = self::ExploreHesabdariDoc($hesabdariDoc);
|
|
$person = [];
|
|
$commodities = [];
|
|
foreach ($hesabdariDoc->getHesabdariRows() as $item) {
|
|
if ($item->getPerson()) {
|
|
$person = self::ExplorePerson($item->getPerson());
|
|
} elseif ($item->getCommodity()) {
|
|
$commodities[] = Explore::ExploreCommodity($item->getCommodity(), $item->getCommdityCount(), $item->getDes());
|
|
} elseif ($item->getRef()->getCode() == '104') {
|
|
$result['discountAll'] = $item->getBs();
|
|
$result['discountType'] = $hesabdariDoc->getDiscountType();
|
|
$result['discountPercent'] = $hesabdariDoc->getDiscountPercent();
|
|
}
|
|
}
|
|
if (!array_key_exists('discountAll', $result))
|
|
$result['discountAll'] = 0;
|
|
if (!array_key_exists('discountType', $result))
|
|
$result['discountType'] = 'fixed';
|
|
if (!array_key_exists('discountPercent', $result))
|
|
$result['discountPercent'] = null;
|
|
$result['person'] = $person;
|
|
$result['commodities'] = $commodities;
|
|
return $result;
|
|
}
|
|
public static function ExploreHesabdariDoc(HesabdariDoc $doc)
|
|
{
|
|
return [
|
|
'id' => $doc->getId(),
|
|
'update' => $doc->getCode(),
|
|
'rows' => self::ExploreHesabdariRows($doc->getHesabdariRows()),
|
|
'submiter' => self::ExploreUser($doc->getSubmitter()),
|
|
'year' => self::ExploreYear($doc->getYear()),
|
|
'money' => self::ExploreMoney($doc->getMoney()),
|
|
'date_submit' => $doc->getDateSubmit(),
|
|
'date' => $doc->getDate(),
|
|
'type' => $doc->getType(),
|
|
'code' => $doc->getCode(),
|
|
'des' => $doc->getDes(),
|
|
'amount' => $doc->getAmount(),
|
|
'mdate' => '',
|
|
'plugin' => $doc->getPlugin(),
|
|
];
|
|
}
|
|
|
|
public static function ExploreHesabdariRows($rows)
|
|
{
|
|
$result = [];
|
|
foreach ($rows as $row) {
|
|
$result[] = self::ExploreHesabdariRow($row);
|
|
}
|
|
return $result;
|
|
}
|
|
public static function ExploreHesabdariRow(HesabdariRow $row)
|
|
{
|
|
$jdate = new Jdate();
|
|
$temp = [
|
|
'id' => $row->getId(),
|
|
'doc_code' => $row->getDoc()->getCode(),
|
|
'bid' => self::ExploreBid($row->getBid()),
|
|
'year' => self::ExploreYear($row->getYear()),
|
|
'ref' => self::ExploreHesabdariTable($row->getRef()),
|
|
'person' => self::ExplorePerson($row->getPerson()),
|
|
'bank' => self::ExploreBank($row->getBank()),
|
|
'cashdesk' => self::ExploreCashdesk($row->getCashdesk()),
|
|
'salary' => self::ExploreSalary($row->getSalary()),
|
|
'bs' => $row->getBs(),
|
|
'bd' => $row->getBd(),
|
|
'des' => $row->getDes(),
|
|
'date' => $row->getDoc()->getDate(),
|
|
'dateSubmit' => $jdate->jdate('Y/n/d', $row->getDoc()->getDateSubmit()),
|
|
'plugin' => $row->getPlugin(),
|
|
'commodity_count' => $row->getCommdityCount(),
|
|
'commodity' => self::ExploreCommodity($row->getCommodity(), $row->getCommdityCount(), $row->getDes()),
|
|
];
|
|
if (!$row->getTax())
|
|
$row->setTax(0);
|
|
if (!$row->getDiscount())
|
|
$row->setDiscount(0);
|
|
$temp['tax'] = $row->getTax();
|
|
$temp['discount'] = $row->getDiscount();
|
|
return $temp;
|
|
}
|
|
|
|
public static function ExploreCommodity(Commodity|null $item, int|null $count = 0, string|null $des = '')
|
|
{
|
|
if ($item) {
|
|
$result = [
|
|
'id' => $item->getId(),
|
|
'code' => $item->getCode(),
|
|
'name' => $item->getName(),
|
|
'des' => $item->getDes(),
|
|
'priceBuy' => $item->getPriceBuy(),
|
|
'priceSell' => $item->getPriceSell(),
|
|
'khadamat' => $item->isKhadamat(),
|
|
'count' => $count,
|
|
'unit' => $item->getUnit()->getName(),
|
|
'withoutTax' => $item->isWithoutTax(),
|
|
'barcodes' => $item->getBarcodes(),
|
|
'commodityCountCheck' => $item->isCommodityCountCheck(),
|
|
'speedAccess' => $item->isSpeedAccess(),
|
|
'orderPoint' => $item->getOrderPoint(),
|
|
'dayLoading' => $item->getDayLoading(),
|
|
'minOrderCount' => $item->getMinOrderCount(),
|
|
'taxCode' => $item->getTaxCode(),
|
|
'taxType' => $item->getTaxType(),
|
|
'taxUnit' => $item->getTaxUnit(),
|
|
'unitData' => [
|
|
'name' => $item->getUnit()->getName(),
|
|
'floatNumber' => $item->getUnit()->getFloatNumber(),
|
|
],
|
|
'cat' => '',
|
|
];
|
|
if ($des) {
|
|
$result['des'] = $des;
|
|
}
|
|
if ($item->getCat()) {
|
|
$result['cat'] = $item->getCat()->getName();
|
|
}
|
|
return $result;
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public static function ExploreCommodityPriceListDetail(PriceListDetail|null $item)
|
|
{
|
|
return [
|
|
'id' => $item->getId(),
|
|
'list' => self::ExploreCommodityPriceListOne($item->getList()),
|
|
'priceBuy' => $item->getPriceBuy(),
|
|
'priceSell' => $item->getPriceSell(),
|
|
];
|
|
}
|
|
public static function ExploreCommodityPriceListDetails($items)
|
|
{
|
|
$result = [];
|
|
foreach ($items as $item)
|
|
$result[] = self::ExploreCommodityPriceListDetail($item);
|
|
return $result;
|
|
}
|
|
public static function ExploreBank(BankAccount|null $item)
|
|
{
|
|
if ($item)
|
|
return [
|
|
'id' => $item->getId(),
|
|
'code' => $item->getCode(),
|
|
'name' => $item->getName(),
|
|
'cardNum' => $item->getCardNum(),
|
|
'shaba' => $item->getShaba(),
|
|
'accountNum' => $item->getAccountNum(),
|
|
'owner' => $item->getOwner(),
|
|
'shobe' => $item->getShobe(),
|
|
'posNum' => $item->getPosNum(),
|
|
'des' => $item->getDes(),
|
|
'mobileInternetBank' => $item->getMobileInternetBank(),
|
|
'balance' => null,
|
|
'money' => self::ExploreMoney($item->getMoney())
|
|
];
|
|
return null;
|
|
}
|
|
|
|
public static function ExploreCashdesk(Cashdesk|null $item)
|
|
{
|
|
if ($item)
|
|
return [
|
|
'id' => $item->getId(),
|
|
'code' => $item->getCode(),
|
|
'name' => $item->getName(),
|
|
'des' => $item->getDes(),
|
|
'balance' => $item->getBalance(),
|
|
'money' => self::ExploreMoney($item->getMoney())
|
|
];
|
|
return null;
|
|
}
|
|
public static function ExploreSalary(Salary|null $item)
|
|
{
|
|
if ($item)
|
|
return [
|
|
'id' => $item->getId(),
|
|
'code' => $item->getCode(),
|
|
'name' => $item->getName(),
|
|
'des' => $item->getDes(),
|
|
'balance' => $item->getBalance(),
|
|
'money' => self::ExploreMoney($item->getMoney())
|
|
];
|
|
return null;
|
|
}
|
|
public static function ExplorePerson(Person|null $person, array $typesAll = [])
|
|
{
|
|
if ($person) {
|
|
$res = [
|
|
'id' => $person->getId(),
|
|
'code' => $person->getCode(),
|
|
'nikename' => $person->getNikename(),
|
|
'name' => $person->getName(),
|
|
'tel' => $person->getTel(),
|
|
'mobile' => $person->getmobile(),
|
|
'mobile2' => $person->getMobile2(),
|
|
'des' => $person->getDes(),
|
|
'company' => $person->getCompany(),
|
|
'shenasemeli' => $person->getShenasemeli(),
|
|
'sabt' => $person->getSabt(),
|
|
'shahr' => $person->getShahr(),
|
|
'keshvar' => $person->getKeshvar(),
|
|
'ostan' => $person->getOstan(),
|
|
'postalcode' => $person->getPostalcode(),
|
|
'codeeghtesadi' => $person->getCodeeghtesadi(),
|
|
'email' => $person->getEmail(),
|
|
'website' => $person->getWebsite(),
|
|
'fax' => $person->getFax(),
|
|
'birthday' => $person->getBirthday(),
|
|
'speedAccess' => $person->isSpeedAccess(),
|
|
'address' => $person->getAddress(),
|
|
'prelabel' => null,
|
|
];
|
|
if ($person->getPrelabel()) {
|
|
$res['prelabel'] = $person->getPrelabel()->getLabel();
|
|
}
|
|
$res['accounts'] = self::ExplorePersonCards($person);
|
|
if (count($typesAll) != 0) {
|
|
$res['types'] = self::ExplorePersonTypes($typesAll);
|
|
foreach ($res['types'] as $key => $item) {
|
|
foreach ($person->getType() as $type) {
|
|
if ($item['code'] == $type->getCode())
|
|
$res['types'][$key]['checked'] = true;
|
|
}
|
|
}
|
|
}
|
|
return $res;
|
|
}
|
|
return null;
|
|
}
|
|
public static function ExplorePersons($items, $types)
|
|
{
|
|
$result = [];
|
|
foreach ($items as $item)
|
|
$result[] = self::ExplorePerson($item, $types);
|
|
return $result;
|
|
}
|
|
|
|
public static function ExplorePersonCards(Person $person)
|
|
{
|
|
$res = [];
|
|
foreach ($person->getPersonCards() as $item) {
|
|
$res[] = [
|
|
'bank' => $item->getBank(),
|
|
'shabaNum' => $item->getShabaNum(),
|
|
'cardNum' => $item->getCardNum(),
|
|
'accountNum' => $item->getAccountNum()
|
|
];
|
|
}
|
|
return $res;
|
|
}
|
|
|
|
public static function ExploreHesabdariTable(HesabdariTable $table)
|
|
{
|
|
return [
|
|
'id' => $table->getId(),
|
|
'upper_id' => $table->getUpper()->getId(),
|
|
'name' => $table->getName(),
|
|
'type' => $table->getType(),
|
|
'code' => $table->getCode()
|
|
];
|
|
}
|
|
public static function ExploreMoney(Money $money)
|
|
{
|
|
return [
|
|
'id' => $money->getId(),
|
|
'label' => $money->getLabel(),
|
|
'name' => $money->getName(),
|
|
'shortName' => $money->getShortName(),
|
|
'symbol' => $money->getSymbol()
|
|
];
|
|
}
|
|
public static function ExploreYear(Year|null $year)
|
|
{
|
|
$jdate = new Jdate();
|
|
if (!$year) {
|
|
$year = new Year();
|
|
$year->setHead(true);
|
|
$year->setLabel('سال مالی اول');
|
|
$year->setStart(time());
|
|
$year->setEnd(time() + 31536000);
|
|
}
|
|
return [
|
|
'id' => $year->getId(),
|
|
'label' => $year->getLabel(),
|
|
'head' => $year->isHead(),
|
|
'start' => $year->getStart(),
|
|
'end' => $year->getEnd(),
|
|
'now' => time(),
|
|
'startShamsi' => $jdate->jdate('Y/n/d', $year->getStart()),
|
|
'endShamsi' => $jdate->jdate('Y/n/d', $year->getEnd()),
|
|
];
|
|
}
|
|
|
|
public static function ExploreUser(User $user)
|
|
{
|
|
return [
|
|
'id' => $user->getId(),
|
|
'name' => $user->getFullName(),
|
|
'fullName' => $user->getFullName()
|
|
];
|
|
}
|
|
|
|
public static function ExploreBid(Business $bid)
|
|
{
|
|
return [
|
|
'id' => $bid->getId(),
|
|
'name' => $bid->getName(),
|
|
'legal_name' => $bid->getLegalName()
|
|
];
|
|
}
|
|
|
|
public static function ExploreBuyDocsList(array $items)
|
|
{
|
|
$result = [];
|
|
foreach ($items as $item) {
|
|
$result[] = [
|
|
'id' => $item->getId(),
|
|
'date' => $item->getDate(),
|
|
'des' => $item->getDes(),
|
|
];
|
|
}
|
|
return $result;
|
|
}
|
|
|
|
public static function SerializeCheque(Cheque|null $cheque)
|
|
{
|
|
if (!$cheque)
|
|
return null;
|
|
$jdate = new Jdate;
|
|
$label = '';
|
|
if ($cheque->getType() == 'input')
|
|
$label = 'چک شماره ' . $cheque->getNumber() . ' مربوط به ' . $cheque->getPerson()->getNikename() . ' با مبلغ ' . $cheque->getAmount();
|
|
return [
|
|
'id' => $cheque->getId(),
|
|
'number' => $cheque->getNumber(),
|
|
'sayadNum' => $cheque->getSayadNum(),
|
|
'chequeBank' => $cheque->getBankOncheque(),
|
|
'person' => self::ExplorePerson($cheque->getPerson()),
|
|
'bank' => self::ExploreBank($cheque->getBank()),
|
|
'des' => $cheque->getDes(),
|
|
'datePay' => $cheque->getPayDate(),
|
|
'type' => $cheque->getType(),
|
|
'amount' => $cheque->getAmount(),
|
|
'status' => $cheque->getStatus(),
|
|
'date' => $cheque->getDate(),
|
|
'locked' => $cheque->isLocked(),
|
|
'rejected' => $cheque->isRejected(),
|
|
'label' => $label,
|
|
'bankoncheque' => $cheque->getBankoncheque(),
|
|
'sayadNumber' => $cheque->getSayadNum(),
|
|
'dueDate' => $cheque->getPayDate(),
|
|
'description' => $cheque->getDes(),
|
|
'dateSubmit' => $cheque->getDateSubmit(),
|
|
'dateStamp' => $cheque->getDateStamp(),
|
|
|
|
];
|
|
}
|
|
|
|
public static function SerializeCheques(array $cheques)
|
|
{
|
|
$result = [];
|
|
foreach ($cheques as $cheque)
|
|
$result[] = self::SerializeCheque($cheque);
|
|
return $result;
|
|
}
|
|
|
|
public static function ExploreProject(Project $item)
|
|
{
|
|
return [
|
|
'id' => $item->getId(),
|
|
'name' => $item->getName()
|
|
];
|
|
}
|
|
|
|
public static function ExploreProjects(array $items)
|
|
{
|
|
$result = [];
|
|
foreach ($items as $item) {
|
|
$result[] = self::ExploreProject($item);
|
|
}
|
|
return $result;
|
|
}
|
|
|
|
public static function ExploreStoreroom(Storeroom $item)
|
|
{
|
|
return [
|
|
'id' => $item->getId(),
|
|
'code' => $item->getId(),
|
|
'name' => $item->getName(),
|
|
'tel' => $item->getTel(),
|
|
'address' => $item->getAdr(),
|
|
'manager' => $item->getManager(),
|
|
'active' => $item->isActive()
|
|
];
|
|
}
|
|
|
|
public static function ExploreStorerooms(array $items)
|
|
{
|
|
$result = [];
|
|
foreach ($items as $item) {
|
|
$result[] = self::ExploreStoreroom($item);
|
|
}
|
|
return $result;
|
|
}
|
|
|
|
public static function ExploreBusiness(Business|null $item): array|null
|
|
{
|
|
if (!$item) {
|
|
return null;
|
|
}
|
|
$res = [
|
|
'id' => $item->getId(),
|
|
'owner' => $item->getOwner()->getFullName(),
|
|
'name' => $item->getName(),
|
|
'legal_name' => $item->getLegalName(),
|
|
'field' => $item->getField(),
|
|
'shenasemeli' => $item->getShenasemeli(),
|
|
'codeeqtesadi' => $item->getCodeeghtesadi(),
|
|
'shomaresabt' => $item->getShomaresabt(),
|
|
'country' => $item->getCountry(),
|
|
'ostan' => $item->getOstan(),
|
|
'shahrestan' => $item->getShahrestan(),
|
|
'postalcode' => $item->getPostalcode(),
|
|
'tel' => $item->getTel(),
|
|
'mobile' => $item->getMobile(),
|
|
'address' => $item->getAddress(),
|
|
'website' => $item->getWesite(),
|
|
'maliyatafzode' => $item->getMaliyatafzode(),
|
|
'arzmain' => self::ExploreMoney($item->getMoney()),
|
|
'zarinpalCode' => $item->getZarinpalCode(),
|
|
'smsCharge' => $item->getSmsCharge(),
|
|
'shortlinks' => $item->isShortlinks(),
|
|
'walletEnabled' => $item->isWalletEnable(),
|
|
'walletMatchBank' => $item->getWalletMatchBank() ? $item->getWalletMatchBank()->getId() : null,
|
|
'updateSellPrice' => $item->isCommodityUpdateSellPriceAuto(),
|
|
'updateBuyPrice' => $item->isCommodityUpdateBuyPriceAuto(),
|
|
];
|
|
if (!$item->getProfitCalctype()) {
|
|
$res['profitCalcType'] = 'lis';
|
|
} else {
|
|
$res['profitCalcType'] = $item->getProfitCalctype();
|
|
}
|
|
|
|
foreach ($item->getYears() as $year) {
|
|
if ($year->isHead()) {
|
|
$res['year'] = Explore::ExploreYear($year);
|
|
}
|
|
}
|
|
|
|
$res['moneys'] = [
|
|
self::ExploreMoney($item->getMoney())
|
|
];
|
|
foreach ($item->getExtraMoney() as $money) {
|
|
$res['moneys'][] = self::ExploreMoney($money);
|
|
}
|
|
|
|
return $res;
|
|
}
|
|
|
|
public static function ExploreSupportTicket(Support $support, User|null $user): array
|
|
{
|
|
$jdate = new Jdate();
|
|
$res = [];
|
|
$res['id'] = $support->getId();
|
|
$res['title'] = $support->getTitle();
|
|
$res['body'] = $support->getBody();
|
|
$res['state'] = $support->getState();
|
|
$res['dateSubmit'] = $jdate->jdate('Y/n/d H:i', $support->getDateSubmit());
|
|
$res['submitter'] = self::ExploreUser($support->getSubmitter());
|
|
$res['main'] = $support->getMain();
|
|
$res['owner'] = true;
|
|
$res['fileName'] = $support->getFileName();
|
|
if ($user->getId() != $support->getSubmitter()->getId()) {
|
|
$res['owner'] = false;
|
|
}
|
|
$res['bid'] = self::ExploreBusiness($support->getBid());
|
|
return $res;
|
|
}
|
|
|
|
public static function ExploreDashboardSettings(DashboardSettings $item)
|
|
{
|
|
$result = [
|
|
'banks' => $item->isBanks(),
|
|
'buys' => $item->isBuys(),
|
|
'sells' => $item->isSells(),
|
|
'wallet' => $item->isWallet(),
|
|
'acc_docs' => $item->isAccDocs(),
|
|
'accounting_total' => $item->isAccountingTotal(),
|
|
'commodities' => $item->isCommodities(),
|
|
'persons' => $item->isPersons(),
|
|
'notif' => $item->isNotif(),
|
|
'sellChart' => $item->isSellChart(),
|
|
'topCommodities' => $item->isTopCommoditiesChart(),
|
|
'costs' => $item->isCosts(),
|
|
'topCostCenters' => $item->isTopCostCenters(),
|
|
'incomes' => $item->isIncomes(),
|
|
'topIncomeCenters' => $item->isTopIncomesChart(),
|
|
];
|
|
if ($result['topCommodities'] === null)
|
|
$result['topCommodities'] = true;
|
|
if ($result['banks'] === null)
|
|
$result['banks'] = true;
|
|
if ($result['buys'] === null)
|
|
$result['buys'] = true;
|
|
if ($result['sells'] === null)
|
|
$result['sells'] = true;
|
|
if ($result['wallet'] === null)
|
|
$result['wallet'] = true;
|
|
if ($result['acc_docs'] === null)
|
|
$result['acc_docs'] = true;
|
|
if ($result['accounting_total'] === null)
|
|
$result['accounting_total'] = true;
|
|
if ($result['commodities'] === null)
|
|
$result['commodities'] = true;
|
|
if ($result['persons'] === null)
|
|
$result['persons'] = true;
|
|
if ($result['notif'] === null)
|
|
$result['notif'] = true;
|
|
if ($result['sellChart'] === null)
|
|
$result['sellChart'] = true;
|
|
if ($result['costs'] === null)
|
|
$result['costs'] = true;
|
|
if ($result['topCostCenters'] === null)
|
|
$result['topCostCenters'] = true;
|
|
if ($result['incomes'] === null)
|
|
$result['incomes'] = true;
|
|
if ($result['topIncomeCenters'] === null)
|
|
$result['topIncomeCenters'] = true;
|
|
|
|
return $result;
|
|
}
|
|
|
|
public static function ExploreCommodityCats(array $items): array
|
|
{
|
|
$res = [];
|
|
foreach ($items as $item) {
|
|
$res[] = self::ExploreCommodityCat($item);
|
|
}
|
|
return $res;
|
|
}
|
|
|
|
public static function ExploreCommodityCat(CommodityCat $item): array
|
|
{
|
|
return [
|
|
'id' => $item->getId(),
|
|
'code' => $item->getId(),
|
|
'name' => $item->getName(),
|
|
'checked' => false,
|
|
'root' => $item->isRoot(),
|
|
'upper' => $item->getUpper()
|
|
];
|
|
}
|
|
}
|