'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
- 'delete' => ['POST','GET'],
+ 'delete' => ['POST', 'GET'],
],
],
]
$request = Yii::$app->getRequest();
- $groupId = (int) $session->get('group_id');
- $adminId = (int) $session->get('admin_id');
+ $groupId = (int)$session->get('group_id');
+ $adminId = (int)$session->get('admin_id');
$storeIds = TimetableService::getAllowedStoreId($adminId, $groupId);
$dataProvider = $searchModel->search($this->request->queryParams, $storeIds);
- $isShowSum = true;
+ $isShowSum = true;
- $isCanCreateWriteOff = true;
+ $isCanCreateWriteOff = true;
return $this->render('/write_offs_erp/index', [
$request = Yii::$app->getRequest();
- $groupId = (int) $session->get('group_id');
- $adminId = (int) $session->get('admin_id');
+ $groupId = (int)$session->get('group_id');
+ $adminId = (int)$session->get('admin_id');
$allowedConfirm = false;
$query->joinWith(['writeOffsProductsErps'])
- ->joinWith(['cityStore'])
- ;
+ ->joinWith(['cityStore']);
/** @var WriteOffsErp $model */
$model = $query->one();
- $model->cityStoreList = ArrayHelper::getValue($model->getRelatedRecords(),'cityStore');
+ $model->cityStoreList = ArrayHelper::getValue($model->getRelatedRecords(), 'cityStore');
$modelWriteOffsProductsErps = ($model->getRelation('writeOffsProductsErps', false));
- $model->writeOffsProductsErps = ArrayHelper::getValue($model->getRelatedRecords(),'writeOffsProductsErps');
- $writeOffsProductsErpIds = ArrayHelper::getColumn($model->writeOffsProductsErps,'id');
+ $model->writeOffsProductsErps = ArrayHelper::getValue($model->getRelatedRecords(), 'writeOffsProductsErps');
+ $writeOffsProductsErpIds = ArrayHelper::getColumn($model->writeOffsProductsErps, 'id');
$query = WriteOffsProductsErp::find()
->andWhere([
'write_offs_products_erp.id' => $writeOffsProductsErpIds,
}
- $isShowSum = true;
+ $isShowSum = true;
-
- $isCanConfirmWriteOffs = true;
+ $isCanConfirmWriteOffs = true;
$model->isShowSum = $isShowSum;
$model = $query->asArray()->all();
-
$writeOff = self::getWriteOffsDoc();
echo '<pre>';
print_r($resultModel);
echo '</pre> <hr>';
- $result = json_encode($resultModel,true,JSON_UNESCAPED_UNICODE);
+ $result = json_encode($resultModel, true, JSON_UNESCAPED_UNICODE);
echo('<br> result json_encode <br>');
- print_r($result);
+ print_r($result);
}
+
public static function getWriteOffsDoc()
{
$connection = Yii::$app->getDb();
$writeOffResult = [];
$writeOffIdsString = '';
- try{
+ try {
$writeOffQuery = "
SELECT
id,
active = 1
";
- // $data = $db::getRows("SELECT * FROM create_checks WHERE status='0'");
- $writeOff = $connection->createCommand($writeOffQuery)->queryAll();
+ // $data = $db::getRows("SELECT * FROM create_checks WHERE status='0'");
+ $writeOff = $connection->createCommand($writeOffQuery)->queryAll();
if (!empty($writeOff)) {
$writeOffIds = array_column($writeOff, 'id');
FROM
write_offs_products_erp
WHERE
- write_offs_products_erp.write_offs_erp_id IN (" .$writeOffIdsString . ")
+ write_offs_products_erp.write_offs_erp_id IN (" . $writeOffIdsString . ")
AND
(active_product = 1)
";
];
}
}
- }
- catch (Exception $e3) {
- file_put_contents('data/log_created_write_offs_erp_error.txt', PHP_EOL . date("d.m.Y H:i:s",time()). $e3->getMessage(), FILE_APPEND);
+ } catch (Exception $e3) {
+ file_put_contents('data/log_created_write_offs_erp_error.txt', PHP_EOL . date("d.m.Y H:i:s", time()) . $e3->getMessage(), FILE_APPEND);
}
return [
'writeOff' => $writeOffResult,
$request = Yii::$app->getRequest();
- $groupId = (int) $session->get('group_id');
- $adminId = (int) $session->get('admin_id');
+ $groupId = (int)$session->get('group_id');
+ $adminId = (int)$session->get('admin_id');
$documentGroupId = DataHelper::getDocumentGroupId('write_offs_erp');
if ($model->load(Yii::$app->request->post())) {
$modelsProducts = MultipleModel::createMultipleModel(WriteOffsProductsErp::classname(), 'WriteOffsErp', 'modelsProducts');
- MultipleModel::loadMultipleFromArray($modelsProducts, $model->modelsProducts , '');
+ MultipleModel::loadMultipleFromArray($modelsProducts, $model->modelsProducts, '');
$model->setGuidCreated();
$model->setNumberDefault();
$writeOffsErpId = $modelId;
$writeOffsErpDate = $model->getDate();
- foreach ($modelsProducts as $numRowKey => $modelProduct) {
+ foreach ($modelsProducts as $numRowKey => $modelProduct) {
$numRow = $numRowKey + 1;
/** @var WriteOffsProductsErp $modelProduct */
$modelProduct->setWriteOffsErpId($writeOffsErpId);
{
$session = Yii::$app->session;
- $groupId = (int) $session->get('group_id');
- $adminId = (int) $session->get('admin_id');
+ $groupId = (int)$session->get('group_id');
+ $adminId = (int)$session->get('admin_id');
$documentGroupId = DataHelper::getDocumentGroupId('write_offs_erp');
'write_offs_erp.active' => 1,
])
->andWhere([
- '<>', 'status', WriteOffsErp::STATUS_CREATED_1С
+ '<>', 'status', WriteOffsErp::STATUS_CREATED_1С
])
->with('writeOffsProductsErps');
$modelWriteOffsProductsErps = ($model->getRelation('writeOffsProductsErps', false));
- $model->writeOffsProductsErps = ArrayHelper::getValue($model->getRelatedRecords(),'writeOffsProductsErps');
- $writeOffsProductsErpIds = ArrayHelper::getColumn($model->writeOffsProductsErps,'id');
+ $model->writeOffsProductsErps = ArrayHelper::getValue($model->getRelatedRecords(), 'writeOffsProductsErps');
+ $writeOffsProductsErpIds = ArrayHelper::getColumn($model->writeOffsProductsErps, 'id');
$query = WriteOffsProductsErp::find()
->andWhere([
'write_offs_products_erp.id' => $writeOffsProductsErpIds,
]);
-
- $query->joinWith(['imagesWriteOffsErp'])
- ;
-
+ $query->joinWith(['imagesWriteOffsErp'])->orderBy(['num_row' => SORT_ASC]);
$modelWriteOffsProductsErp = $query->all();
$model->writeOffsProductsErps = $modelWriteOffsProductsErp;
$listProductsDict = Products1c::getProducts1cByTypeWithPrice();
- $modelWriteOffsProductsErps = ArrayHelper::getValue($model->getRelatedRecords(),'writeOffsProductsErps');
+ $modelWriteOffsProductsErps = ArrayHelper::getValue($model->getRelatedRecords(), 'writeOffsProductsErps');
$listCityStoreNames = CityStore::getNames($storeIds);
$listCauseDict = WriteOffsProductsErp::getCauseDict();
if ($this->request->isPost && $model->load($this->request->post())) {
$modelsProducts = MultipleModel::createMultipleModel(WriteOffsProductsErp::classname(), 'WriteOffsErp', 'modelsProducts', $modelWriteOffsProductsErps);
- MultipleModel::loadMultipleFromArray($modelsProducts, $model->modelsProducts , '');
+ MultipleModel::loadMultipleFromArray($modelsProducts, $model->modelsProducts, '');
$modelId = $model->getId();
- $oldWriteOffsProductsErp = WriteOffsProductsErp::find()->andWhere(['write_offs_erp_id' => $id, 'active_product' => 1])->asArray()->all();
+ $oldWriteOffsProductsErp = WriteOffsProductsErp::find()->andWhere(['write_offs_erp_id' => $id, 'active_product' => 1])->asArray()->all();
$oldIDs = ArrayHelper::map($oldWriteOffsProductsErp, 'id', 'id');
+ $newIds = array_unique(array_merge(...array_map(fn($m) => array_values(array_filter($m->attributes, fn($v, $k) => $k === 'id', ARRAY_FILTER_USE_BOTH)), $modelsProducts)));
if (!empty($modelsProducts)) {
$writeOffsErpId = $modelId;
$writeOffsErpDate = $model->getDate();
+ $modelNum = 1;
foreach ($modelsProducts as $modelProduct) {
/** @var WriteOffsProductsErp $modelProduct */
- //WriteOffsProductsErp::deleteByIDs();
+ WriteOffsProductsErp::deleteByIDs(array_diff($oldIDs, $newIds), Yii::$app->user->id);
$modelProduct->setWriteOffsErpId($writeOffsErpId); // Необходимо заполнить «Write Offs Erp ID».
$modelProduct->setDate($writeOffsErpDate); // Необходимо заполнить «Write Offs Erp ID».
$productIdRow = $modelProduct->getProductId(); // Необходимо заполнить «Write Offs Erp ID».
$modelProductRetailSummRow = $modelProductRetailPriceRow * $modelProductQuantityRow;
$modelProduct->setPriceRetail($modelProductRetailPriceRow);
+ $modelProduct->setNumRow($modelNum);
$modelProduct->setSummRetail($modelProductRetailSummRow);
$modelProduct->setUpdatedAdminId($adminId);
$modelProduct->setUpdatedAt();
+ $modelNum++;
}
}
}
- public function actionConfirmWriteOff() : string
+ public function actionConfirmWriteOff(): string
{
if (Yii::$app->request->isAjax) {
$session = Yii::$app->session;
$id = Yii::$app->request->post("id");
$model = WriteOffsErp::find()->andWhere([
- 'write_offs_erp.id' => $id,
- 'active' => 1,
- 'status' => WriteOffsErp::STATUS_CREATED
- ])
+ 'write_offs_erp.id' => $id,
+ 'active' => 1,
+ 'status' => WriteOffsErp::STATUS_CREATED
+ ])
->joinWith(['writeOffsProductsErps'])
->one();
/** @var WriteOffsErp $model */
$modelWriteOffsProductsErps = ($model->getRelation('writeOffsProductsErps', false));
- $model->writeOffsProductsErps = ArrayHelper::getValue($model->getRelatedRecords(),'writeOffsProductsErps');
- $writeOffsProductsErpIds = ArrayHelper::getColumn($model->writeOffsProductsErps,'id');
+ $model->writeOffsProductsErps = ArrayHelper::getValue($model->getRelatedRecords(), 'writeOffsProductsErps');
+ $writeOffsProductsErpIds = ArrayHelper::getColumn($model->writeOffsProductsErps, 'id');
$query = WriteOffsProductsErp::find()
->andWhere([
'write_offs_products_erp.id' => $writeOffsProductsErpIds,
}
$modelsProducts = MultipleModel::createMultipleModelFromArray('yii_app\forms\writeOffsErp\WriteOffsProductsForm', $modelWriteOffsProductsErp);
- MultipleModel::loadMultipleFromArray($modelsProducts, $modelWriteOffsProductsErp , '');
+ MultipleModel::loadMultipleFromArray($modelsProducts, $modelWriteOffsProductsErp, '');
$validMultiple = MultipleModel::validateMultiple($modelsProducts);
}
return 'error';
}
- public function actionReSendWriteOff() : string
+
+ public function actionReSendWriteOff(): string
{
if (Yii::$app->request->isAjax) {
$session = Yii::$app->session;
$id = Yii::$app->request->post("id");
$model = WriteOffsErp::find()->andWhere([
- 'write_offs_erp.id' => $id,
- 'active' => 1,
- 'status' => [WriteOffsErp::STATUS_SEND,WriteOffsErp::STATUS_ERROR_1С],
- ])
+ 'write_offs_erp.id' => $id,
+ 'active' => 1,
+ 'status' => [WriteOffsErp::STATUS_SEND, WriteOffsErp::STATUS_ERROR_1С],
+ ])
->joinWith(['writeOffsProductsErps'])
->one();
$modelStatus = $model->getStatus();
- if (in_array($modelStatus,[WriteOffsErp::STATUS_SEND,WriteOffsErp::STATUS_ERROR_1С])) {
+ if (in_array($modelStatus, [WriteOffsErp::STATUS_SEND, WriteOffsErp::STATUS_ERROR_1С])) {
$model->setStatusConfirm();
$model->resetSendAt();
$model->save(false);