Исправления наследовавших классов
This commit is contained in:
parent
6a7f8897d5
commit
0f8e6a7a6a
|
@ -1,4 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
class AccountEdgePurchase extends Edge
|
class AccountEdgePurchase extends Edge
|
||||||
{
|
{
|
||||||
public static function collectionName()
|
public static function collectionName(): string
|
||||||
{
|
{
|
||||||
return 'account_edge_purchase';
|
return 'account_edge_purchase';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
class AccountEdgeSupply extends Edge
|
class AccountEdgeSupply extends Edge
|
||||||
{
|
{
|
||||||
public static function collectionName()
|
public static function collectionName(): string
|
||||||
{
|
{
|
||||||
return 'account_edge_supply';
|
return 'account_edge_supply';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
use moonland\phpexcel\Excel;
|
use moonland\phpexcel\Excel;
|
||||||
|
|
||||||
use mirzaev\yii2\arangodb\Query;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Продукт (в ассортименте магазина)
|
* Продукт (в ассортименте магазина)
|
||||||
*
|
*
|
||||||
|
@ -17,7 +16,7 @@ use mirzaev\yii2\arangodb\Query;
|
||||||
class Product extends Document
|
class Product extends Document
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Сценарий импорта из .excel докумекнт
|
* Сценарий импорта из .excel документа
|
||||||
*/
|
*/
|
||||||
const SCENARIO_IMPORT = 'import';
|
const SCENARIO_IMPORT = 'import';
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
class ProductEdgeProduct extends Edge
|
class ProductEdgeProduct extends Edge
|
||||||
{
|
{
|
||||||
public static function collectionName()
|
public static function collectionName(): string
|
||||||
{
|
{
|
||||||
return 'product_edge_product';
|
return 'product_edge_product';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
class ProductEdgeProductGroup extends Edge
|
class ProductEdgeProductGroup extends Edge
|
||||||
{
|
{
|
||||||
public static function collectionName()
|
public static function collectionName(): string
|
||||||
{
|
{
|
||||||
return 'product_edge_product_group';
|
return 'product_edge_product_group';
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,33 +110,35 @@ class ProductGroup extends Document implements GroupInterface
|
||||||
*/
|
*/
|
||||||
public static function createByML(Group $group): static|array|null
|
public static function createByML(Group $group): static|array|null
|
||||||
{
|
{
|
||||||
if (!$model = static::readByOnecId($group->id)) {
|
// if (!$model = static::readByOnecId($group->id)) {
|
||||||
// Группа не найдена
|
// // Группа не найдена
|
||||||
|
|
||||||
// Инициализация
|
// // Инициализация
|
||||||
$model = new static;
|
// $model = new static;
|
||||||
|
|
||||||
$model->onec_id = $group->id;
|
// $model->onec_id = $group->id;
|
||||||
}
|
// }
|
||||||
|
|
||||||
$model->name = $group->name;
|
// $model->name = $group->name;
|
||||||
|
|
||||||
if ($parent = $group->getParent()) {
|
// if ($parent = $group->getParent()) {
|
||||||
// Найден родитель
|
// // Найден родитель
|
||||||
|
|
||||||
// Инициализация (рекурсия)
|
// // Инициализация (рекурсия)
|
||||||
$parentModel = static::createByML($parent);
|
// $parentModel = static::createByML($parent);
|
||||||
|
|
||||||
$model->onec_prnt_id = $parentModel->id;
|
// $model->onec_prnt_id = $parentModel->id;
|
||||||
|
|
||||||
unset($parentModel);
|
// unset($parentModel);
|
||||||
} else {
|
// } else {
|
||||||
$model->onec_prnt_id = null;
|
// $model->onec_prnt_id = null;
|
||||||
}
|
// }
|
||||||
|
|
||||||
$model->save();
|
// $model->save();
|
||||||
|
|
||||||
return $model;
|
// return $model;
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static function writeEdgeBetweenGroup(string $from, string $to): bool
|
private static function writeEdgeBetweenGroup(string $from, string $to): bool
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
class ProductGroupEdgeProductGroup extends Edge
|
class ProductGroupEdgeProductGroup extends Edge
|
||||||
{
|
{
|
||||||
public static function collectionName()
|
public static function collectionName(): string
|
||||||
{
|
{
|
||||||
return 'product_group_edge_product_group';
|
return 'product_group_edge_product_group';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
use carono\exchange1c\interfaces\DocumentInterface;
|
use carono\exchange1c\interfaces\DocumentInterface;
|
||||||
|
@ -14,7 +16,7 @@ class Purchase extends Document implements DocumentInterface
|
||||||
/**
|
/**
|
||||||
* @return DocumentInterface[]
|
* @return DocumentInterface[]
|
||||||
*/
|
*/
|
||||||
public static function findDocuments1c(): ?self
|
public static function findDocuments1c(): ?array
|
||||||
{
|
{
|
||||||
return self::find()->andWhere(['status_id' => 2])->all();
|
return self::find()->andWhere(['status_id' => 2])->all();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
class PurchaseEdgeSupply extends Edge
|
class PurchaseEdgeSupply extends Edge
|
||||||
{
|
{
|
||||||
public static function collectionName()
|
public static function collectionName(): string
|
||||||
{
|
{
|
||||||
return 'purchase_edge_supply';
|
return 'purchase_edge_supply';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
class Requisite extends Document
|
class Requisite extends Document
|
||||||
{
|
{
|
||||||
public static function collectionName()
|
public static function collectionName(): string
|
||||||
{
|
{
|
||||||
return 'requisite';
|
return 'requisite';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function attributes()
|
public function attributes(): array
|
||||||
{
|
{
|
||||||
return array_merge(
|
return array_merge(
|
||||||
parent::attributes(),
|
parent::attributes(),
|
||||||
|
@ -17,7 +19,7 @@ class Requisite extends Document
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function rules()
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return array_merge(
|
return array_merge(
|
||||||
parent::rules(),
|
parent::rules(),
|
||||||
|
@ -31,7 +33,7 @@ class Requisite extends Document
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function attributeLabels()
|
public function attributeLabels(): array
|
||||||
{
|
{
|
||||||
return array_merge(
|
return array_merge(
|
||||||
parent::attributeLabels(),
|
parent::attributeLabels(),
|
||||||
|
|
|
@ -104,31 +104,52 @@ class Supply extends Product implements ProductInterface
|
||||||
$models = static::searchOnecByAccountId(Yii::$app->user->id, true);
|
$models = static::searchOnecByAccountId(Yii::$app->user->id, true);
|
||||||
$properties = self::xml2array($properties->xml);
|
$properties = self::xml2array($properties->xml);
|
||||||
|
|
||||||
|
$fp = fopen('1.txt', 'a');
|
||||||
|
fwrite($fp, print_r(count($models), true) . PHP_EOL);
|
||||||
|
fclose($fp);
|
||||||
|
|
||||||
|
// for ($i = 0; $i <= count($models); $i++)
|
||||||
foreach ($models as $model) {
|
foreach ($models as $model) {
|
||||||
// Перебор записей
|
// Перебор записей
|
||||||
|
|
||||||
|
$fp = fopen('2.txt', 'a');
|
||||||
|
fwrite($fp, $model->ocid . PHP_EOL);
|
||||||
|
fclose($fp);
|
||||||
|
|
||||||
// Инициализация
|
// Инициализация
|
||||||
$changes = false;
|
$changes = false;
|
||||||
|
$transit = $model->onec;
|
||||||
|
|
||||||
foreach ($model->onec['ЗначенияСвойств'] as &$attribute) {
|
foreach ($model->onec['ЗначенияСвойств'] as $attribute_name => $attribute_value) {
|
||||||
// Перебор аттрибутов
|
// Перебор аттрибутов
|
||||||
|
|
||||||
foreach ($properties as $property) {
|
foreach ($properties as $property) {
|
||||||
// Перебор свойств
|
// Перебор свойств
|
||||||
|
|
||||||
if ($attribute['ЗначенияСвойства']['Ид'] === $property['Свойство']['Ид']) {
|
if (is_array($attribute_value) && is_array($property) && $attribute_value['Ид'] === $property['Ид']) {
|
||||||
// Совпадение идентификаторов
|
// Совпадение идентификаторов
|
||||||
|
|
||||||
// Объединение данных
|
// Объединение данных
|
||||||
array_merge($attribute, $property);
|
$transit['ЗначенияСвойств'][$attribute_name] = array_merge($attribute_value, $property, $transit['ЗначенияСвойств'][$attribute_name]);
|
||||||
|
|
||||||
// Запись индикатора наличия изменений
|
// Запись индикатора наличия изменений
|
||||||
$changes = true;
|
$changes = true;
|
||||||
|
|
||||||
|
// break;
|
||||||
|
} else {
|
||||||
|
// Объединение данных
|
||||||
|
$transit['ЗначенияСвойств'][$attribute_name] = $property;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($changes) {
|
if ($changes) {
|
||||||
|
// Если указано, что записаны изменения
|
||||||
|
|
||||||
|
// Настройка ($transit нужен из-за ограничений __set())
|
||||||
|
$model->onec = $transit;
|
||||||
|
|
||||||
|
// Запись
|
||||||
$model->save();
|
$model->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
use app\models\traits\Xml2Array;
|
use app\models\traits\Xml2Array;
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
class SupplyEdgeRequisite extends Edge
|
class SupplyEdgeRequisite extends Edge
|
||||||
{
|
{
|
||||||
public static function collectionName()
|
public static function collectionName(): string
|
||||||
{
|
{
|
||||||
return 'supply_edge_requisite';
|
return 'supply_edge_requisite';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
class SupplyEdgeSupply extends ProductEdgeProduct
|
class SupplyEdgeSupply extends ProductEdgeProduct
|
||||||
{
|
{
|
||||||
public static function collectionName()
|
public static function collectionName(): string
|
||||||
{
|
{
|
||||||
return 'supply_edge_supply';
|
return 'supply_edge_supply';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
class SupplyEdgeSupplyGroup extends ProductEdgeProductGroup
|
class SupplyEdgeSupplyGroup extends ProductEdgeProductGroup
|
||||||
{
|
{
|
||||||
public static function collectionName()
|
public static function collectionName(): string
|
||||||
{
|
{
|
||||||
return 'supply_edge_supply_group';
|
return 'supply_edge_supply_group';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace app\models;
|
namespace app\models;
|
||||||
|
|
||||||
class SupplyGroupEdgeSupplyGroup extends Edge
|
class SupplyGroupEdgeSupplyGroup extends Edge
|
||||||
{
|
{
|
||||||
public static function collectionName()
|
public static function collectionName(): string
|
||||||
{
|
{
|
||||||
return 'supply_group_edge_supply_group';
|
return 'supply_group_edge_supply_group';
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue