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