From a90469fb084966b9a1c9e44424bd42483c295561 Mon Sep 17 00:00:00 2001 From: marina Date: Thu, 19 Dec 2024 13:36:55 +0300 Subject: [PATCH] =?utf8?q?ERP-256=20=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D1=82?= =?utf8?q?=D1=8C=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D1=83=20?= =?utf8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2=20?= =?utf8?q?=D0=9F=D0=B5=D1=80=D0=B5=D1=81=D0=BE=D1=80=D1=82=D0=B8=D1=86?= =?utf8?q?=D0=B0=20=D0=B2=201=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/api2/controllers/DataController.php | 45 +++++++++++-------- ...2318_change_replacement_invocie_column.php | 35 +++++++++++++++ erp24/records/ReplacementInvoice.php | 2 +- 3 files changed, 63 insertions(+), 19 deletions(-) create mode 100644 erp24/migrations/m241219_102318_change_replacement_invocie_column.php diff --git a/erp24/api2/controllers/DataController.php b/erp24/api2/controllers/DataController.php index 14f3f643..8d0c6889 100644 --- a/erp24/api2/controllers/DataController.php +++ b/erp24/api2/controllers/DataController.php @@ -53,15 +53,18 @@ use yii_app\records\WriteOffsProductsErp; use yii_app\services\InfoLogService; use yii_app\services\LogService; -class DataController extends BaseController { +class DataController extends BaseController +{ const OUT_DIR = // __DIR__ . "/../json"; - // "/www/api2/json"; - "/var/www/erp24/api2/json"; + // "/www/api2/json"; + "/var/www/erp24/api2/json"; + // "/var/www/www-root/data/www/api.bazacvetov24.ru/data/json"; - public function actionRequest() { + public function actionRequest() + { Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $request = Yii::$app->request->getRawBody(); @@ -238,7 +241,8 @@ class DataController extends BaseController { return $this->asJson(json_decode($json, true)); } - private function getWriteOffsSetStatusSend($writeOffIds) { + private function getWriteOffsSetStatusSend($writeOffIds) + { try { $writeOffsErp = WriteOffsErp::find()->where(['in', 'id', $writeOffIds])->all(); foreach ($writeOffsErp as $writeOffsErpElem) { @@ -255,7 +259,8 @@ class DataController extends BaseController { } } - private function getWaybillWriteOffsSetStatusSend($waybillWriteOffIds) { + private function getWaybillWriteOffsSetStatusSend($waybillWriteOffIds) + { try { $waybillWriteOffsErp = WaybillWriteOffs::find()->where(['in', 'id', $waybillWriteOffIds])->all(); foreach ($waybillWriteOffsErp as $waybillWriteOffsErpElem) { @@ -268,11 +273,12 @@ class DataController extends BaseController { } } } catch (Exception $e3) { - file_put_contents(self::OUT_DIR . '/log_created_waybill_write_offs_erp_error.txt', PHP_EOL . date("d.m.Y H:i:s",time()). $e3->getMessage(), FILE_APPEND); + file_put_contents(self::OUT_DIR . '/log_created_waybill_write_offs_erp_error.txt', PHP_EOL . date("d.m.Y H:i:s", time()) . $e3->getMessage(), FILE_APPEND); } } - private function getWaybillIncomingSetStatusSend($waybillIncomingIds) { + private function getWaybillIncomingSetStatusSend($waybillIncomingIds) + { try { $waybillIncoming = WaybillIncoming::find()->where(['in', 'id', $waybillIncomingIds])->all(); foreach ($waybillIncoming as $waybillIncomingElem) { @@ -409,7 +415,7 @@ class DataController extends BaseController { foreach ($additionalProducts as $product) { $waybillWriteOffProducts[$product['waybill_write_offs_id']][] = [ 'product_id' => $product['product_id'], - 'quantity' => (string) $product['product_count'], + 'quantity' => (string)$product['product_count'], 'price' => $product['product_price'], ]; } @@ -444,7 +450,8 @@ class DataController extends BaseController { ]; } - private function getWaybillIncomingDoc() : array { + private function getWaybillIncomingDoc(): array + { $waybillIncoming = []; $waybillIncomingIds = []; $waybillIncomingResult = []; @@ -480,7 +487,7 @@ class DataController extends BaseController { foreach ($products as $product) { $waybillIncomingProducts[$product['waybill_incoming_id']][] = [ 'product_id' => $product['product_id'], - 'quantity' => (string) $product['product_count'], + 'quantity' => (string)$product['product_count'], 'price' => $product['product_self_cost'], ]; } @@ -592,7 +599,7 @@ class DataController extends BaseController { 'store_id' => $row['store_guid'], 'type' => 'ревизия пересортица при передаче смены', 'cause' => $cause, - 'comment' => $cause .' '. $row['comment'], + 'comment' => $cause . ' ' . $row['comment'], 'items' => $row['items'], ]; @@ -648,7 +655,8 @@ class DataController extends BaseController { return $result; } - public function actionUpload() { + public function actionUpload() + { set_time_limit(600); file_put_contents(self::OUT_DIR . '/a2_upload_in.json', PHP_EOL . date('Y-m-d H:i:s') . ' ', FILE_APPEND | LOCK_EX); @@ -1096,7 +1104,7 @@ class DataController extends BaseController { json_encode( [ "error_id" => 11, - "error" => $writeOffsErp->getErrors() + "error" => $writeOffsErp->getErrors() ], JSON_UNESCAPED_UNICODE ) @@ -2237,8 +2245,8 @@ class DataController extends BaseController { private function insertDataSales($values, $tableName, $columns, $chunks = 1000) - { - $chunkValues = array_chunk($values, $chunks); + { + $chunkValues = array_chunk($values, $chunks); foreach ($chunkValues as $key => $rows) { @@ -2250,11 +2258,12 @@ class DataController extends BaseController { $errorString = substr($e->getMessage(), 0, 2000); file_put_contents(self::OUT_DIR . '/error_upload.txt', PHP_EOL . $errorString, FILE_APPEND - );$transaction->rollBack(); + ); + $transaction->rollBack(); InfoLogService::setInfoLog(__FILE__, __LINE__, $tableName, 'error_id_25'); InfoLogService::setInfoLog(__FILE__, __LINE__, $errorString, 'error_id_25_22'); LogService::apiErrorLog(json_encode(["error_id" => 25, "error" => $errorString], JSON_UNESCAPED_UNICODE) - ); + ); } } } diff --git a/erp24/migrations/m241219_102318_change_replacement_invocie_column.php b/erp24/migrations/m241219_102318_change_replacement_invocie_column.php new file mode 100644 index 00000000..40ce430c --- /dev/null +++ b/erp24/migrations/m241219_102318_change_replacement_invocie_column.php @@ -0,0 +1,35 @@ +db->getTableSchema('erp24.replacement_invoice', true); + $column = $tableSchema->getColumn('number_1c'); + + if ($column && $column->type === 'string' && $column->size === 100) { + $this->alterColumn('erp24.replacement_invoice', 'number_1c', $this->text()->comment('Название документа в 1с')); + } + } + + /** + * {@inheritdoc} + */ + public function safeDown() + { + $tableSchema = $this->db->getTableSchema('erp24.replacement_invoice', true); + $column = $tableSchema->getColumn('number_1c'); + + if ($column && $column->type === 'text') { + $this->alterColumn('erp24.replacement_invoice', 'number_1c', $this->string(100)->null()->comment('Название документа в 1с')); + } + } +} diff --git a/erp24/records/ReplacementInvoice.php b/erp24/records/ReplacementInvoice.php index 5e5f78a6..14b19d23 100644 --- a/erp24/records/ReplacementInvoice.php +++ b/erp24/records/ReplacementInvoice.php @@ -69,7 +69,7 @@ class ReplacementInvoice extends \yii\db\ActiveRecord [['status', 'created_admin_id', 'updated_admin_id', 'confirm_admin_id', 'store_id'], 'default', 'value' => null], [['status', 'created_admin_id', 'updated_admin_id', 'confirm_admin_id', 'store_id','shift_transfer_id'], 'integer'], [['date', 'created_at', 'updated_at', 'send_at'], 'safe'], - [['comment'], 'string'], + [['comment', 'text'], 'string'], [['summ', 'summ_self_cost', 'quantity'], 'number'], [['guid', 'store_guid', 'number', 'number_1c'], 'string', 'max' => 100], [['guid'], 'unique'], -- 2.39.5