From: Aleksey Filippov Date: Tue, 2 Apr 2024 08:30:25 +0000 (+0300) Subject: миграция X-Git-Tag: 1.1~162^2~4^2~1 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=9a6013bb30aacda6c0160403e6effd1ba8601a0f;p=erp24_rep%2Fyii-erp24%2F.git миграция --- diff --git a/docker/migrationToPgsql/mysql/command.sql b/docker/migrationToPgsql/mysql/command.sql index e98c63ea..b36df4d6 100644 --- a/docker/migrationToPgsql/mysql/command.sql +++ b/docker/migrationToPgsql/mysql/command.sql @@ -66,7 +66,7 @@ UPDATE `admin` SET `lasttime`= '1970-01-01 00:00:01' WHERE `lasttime` < '1970-01 UPDATE `store_plan` SET `date_edit` = '1970-01-01' WHERE `date_edit` < '1970-01-01'; UPDATE `firms` SET `saldo_data`='1970-01-01' WHERE `saldo_data` < '1970-01-01'; -UPDATE `firms` SET `date_add`='1970-01-01 00:00:01' WHERE `date_add` < '1970-01-01 00:00:01'; +-- UPDATE `firms` SET `date_add`='1970-01-01 00:00:01' WHERE `date_add` < '1970-01-01 00:00:01'; ALTER TABLE `sale_script_items` MODIFY COLUMN `from_to` ENUM('manager', 'client', 'none'); UPDATE `sale_script_items` SET `from_to` = 'none' WHERE `from_to` = ''; @@ -165,4 +165,25 @@ UPDATE `store_orders` SET `date_end`='1970-01-01' WHERE `date_end`<'1970-01-01'; UPDATE `store_orders` SET `date_update`='1970-01-01 00:00:01' WHERE `date_update`<'1970-01-01 00:00:01'; UPDATE `store_orders` SET `delivery_date_fact`='1970-01-01' WHERE `delivery_date_fact`<'1970-01-01'; -UPDATE `users_events` SET `date` = '1970-01-01' WHERE `date` < '1970-01-01' AND `date` IS NOT NULL; \ No newline at end of file +UPDATE `users_events` SET `date` = '1970-01-01' WHERE `date` < '1970-01-01' AND `date` IS NOT NULL; +UPDATE `universal_pipeline_triggers` SET `time` = '1970-01-01' WHERE `time` < '1970-01-01' AND `time` IS NOT NULL; +UPDATE `shipment_waybills` SET `created_at` = '1970-01-01' WHERE `created_at` < '1970-01-01' AND `created_at` IS NOT NULL; +UPDATE `store_orders` SET `date_add` = '1970-01-01' WHERE `date_add` < '1970-01-01' AND `date_add` IS NOT NULL; +ALTER TABLE `sales` DROP INDEX `date`; + +ALTER TABLE page_statistics ADD PRIMARY KEY (id); +ALTER TABLE IF EXISTS erp24.page_statistics + ADD COLUMN id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 30000 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ); +SELECT setval('page_statistics_id_seq', max(id)) FROM page_statistics; + +ALTER TABLE admin ADD PRIMARY KEY (id); +ALTER TABLE admin_group ADD PRIMARY KEY (id); +ALTER TABLE timetable ADD PRIMARY KEY (id); +ALTER TABLE sales ADD PRIMARY KEY (id); +ALTER TABLE sales_products ADD PRIMARY KEY (id); +ALTER TABLE write_offs_erp ADD PRIMARY KEY (id); +ALTER TABLE store_plan ADD PRIMARY KEY (store_id,month,year); +ALTER TABLE dashboard_fields_links ADD PRIMARY KEY (dashboard_id,field_id); +ALTER TABLE products_1c ADD PRIMARY KEY (id); +ALTER TABLE write_offs_products_erp ADD PRIMARY KEY (id); +ALTER TABLE dashboard_fields_property ADD PRIMARY KEY (id); \ No newline at end of file diff --git a/erp24/actions/dashboardChart/indexAction.php b/erp24/actions/dashboardChart/indexAction.php index 240c2658..a43272ea 100755 --- a/erp24/actions/dashboardChart/indexAction.php +++ b/erp24/actions/dashboardChart/indexAction.php @@ -107,8 +107,8 @@ class indexAction extends Action 'dashboard_fields_links.order_num', 'dashboard_fields_links.property_field_id', ]) - ->andWhere(['`dashboard_id`'=> $dashboardId]) - ->innerJoin('`dashboard_fields`','dashboard_fields.id = dashboard_fields_links.field_id AND dashboard_fields.active = 1' ) + ->andWhere(['dashboard_id'=> $dashboardId]) + ->innerJoin('dashboard_fields','dashboard_fields.id = dashboard_fields_links.field_id AND dashboard_fields.active = 1' ) ->orderBy([ 'order_num' => SORT_ASC, ]) @@ -120,8 +120,8 @@ class indexAction extends Action $totalRows = DashboardSales::find() - ->andWhere(['`store_id`'=> $storeId]) - ->andWhere(['`field_id`'=> $dashboardFieldsLinksPreparedIds]) + ->andWhere(['store_id'=> $storeId]) + ->andWhere(['field_id'=> $dashboardFieldsLinksPreparedIds]) ->joinWith('field') ->andWhere(['>=', 'date', $dateFrom]) ->andWhere(['<=', 'date', $dateTo]) diff --git a/erp24/actions/dashboardSales/indexAction.php b/erp24/actions/dashboardSales/indexAction.php index 5daebbde..e02aa316 100755 --- a/erp24/actions/dashboardSales/indexAction.php +++ b/erp24/actions/dashboardSales/indexAction.php @@ -137,7 +137,7 @@ class indexAction extends Action $percentFields = DashboardFields::find() - ->andWhere(['`active`'=> 1]) + ->andWhere(['active'=> 1]) ->andWhere(['not in','type_summ','sum']) ->andWhere(['id' => $fieldsIdsKeysPrepared]) ->indexBy('name') diff --git a/erp24/controllers/WriteOffsErpController.php b/erp24/controllers/WriteOffsErpController.php index cd2005dd..10769493 100644 --- a/erp24/controllers/WriteOffsErpController.php +++ b/erp24/controllers/WriteOffsErpController.php @@ -156,8 +156,8 @@ class WriteOffsErpController extends Controller $query = WriteOffsErp::find() ->andWhere([ - '`write_offs_erp`.`id`' => $id, - '`write_offs_erp`.`active`' => 1, + 'write_offs_erp.id' => $id, + 'write_offs_erp.active' => 1, ]); if (!empty($storeIds)) { @@ -178,8 +178,8 @@ class WriteOffsErpController extends Controller $writeOffsProductsErpIds = ArrayHelper::getColumn($model->writeOffsProductsErps,'id'); $query = WriteOffsProductsErp::find() ->andWhere([ - '`write_offs_products_erp`.`id`' => $writeOffsProductsErpIds, - '`write_offs_products_erp`.`active_product`' => 1, + 'write_offs_products_erp.id' => $writeOffsProductsErpIds, + 'write_offs_products_erp.active_product' => 1, ]); $query->joinWith(['imagesWriteOffsErp']); @@ -227,7 +227,7 @@ class WriteOffsErpController extends Controller $query = WriteOffsErp::find() ->andWhere([ - '`write_offs_erp`.`status`' => WriteOffsErp::STATUS_CONFIRM, + 'write_offs_erp.status' => WriteOffsErp::STATUS_CONFIRM, 'active' => 1, ]); @@ -280,21 +280,21 @@ class WriteOffsErpController extends Controller try{ $writeOffQuery = " SELECT - `id`, - `guid`, - `store_guid`, - `number`, - `date`, - `write_offs_type`, - `comment`, - `quantity`, - `summ` + id, + guid, + store_guid, + number, + date, + write_offs_type, + comment, + quantity, + summ FROM - `write_offs_erp` + write_offs_erp WHERE - `status` = 2 + status = 2 AND - `active` = 1 + active = 1 "; // $data = $db::getRows("SELECT * FROM create_checks WHERE status='0'"); @@ -307,17 +307,17 @@ class WriteOffsErpController extends Controller $writeOffProductsQuery = " SELECT - `write_offs_erp_id`, - `product_id`, - `quantity`, - `price`, - `summ` + write_offs_erp_id, + product_id, + quantity, + price, + summ FROM - `write_offs_products_erp` + 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) + (active_product = 1) "; // $products = $db::getRows($writeOffProductsQuery); @@ -671,8 +671,8 @@ class WriteOffsErpController extends Controller $query = WriteOffsErp::find() ->andWhere([ - '`write_offs_erp`.`id`' => $id, - '`write_offs_erp`.`active`' => 1, + 'write_offs_erp.id' => $id, + 'write_offs_erp.active' => 1, ]) ->andWhere([ '<>', 'status', WriteOffsErp::STATUS_CREATED_1С @@ -691,8 +691,8 @@ class WriteOffsErpController extends Controller $writeOffsProductsErpIds = ArrayHelper::getColumn($model->writeOffsProductsErps,'id'); $query = WriteOffsProductsErp::find() ->andWhere([ - '`write_offs_products_erp`.`id`' => $writeOffsProductsErpIds, - '`write_offs_products_erp`.`active_product`' => 1, + 'write_offs_products_erp.id' => $writeOffsProductsErpIds, + 'write_offs_products_erp.active_product' => 1, ]); @@ -712,7 +712,7 @@ class WriteOffsErpController extends Controller $modelArray = WriteOffsErp::find() ->andWhere([ - '`write_offs_erp`.`id`' => $id, + 'write_offs_erp.id' => $id, 'active' => 1, ]) ->andWhere([ @@ -921,7 +921,7 @@ class WriteOffsErpController extends Controller $id = Yii::$app->request->post("id"); $model = WriteOffsErp::find()->andWhere([ - '`write_offs_erp`.`id`' => $id, + 'write_offs_erp.id' => $id, 'active' => 1, 'status' => WriteOffsErp::STATUS_CREATED ]) @@ -935,8 +935,8 @@ class WriteOffsErpController extends Controller $writeOffsProductsErpIds = ArrayHelper::getColumn($model->writeOffsProductsErps,'id'); $query = WriteOffsProductsErp::find() ->andWhere([ - '`write_offs_products_erp`.`id`' => $writeOffsProductsErpIds, - '`write_offs_products_erp`.`active_product`' => 1, + 'write_offs_products_erp.id' => $writeOffsProductsErpIds, + 'write_offs_products_erp.active_product' => 1, ]); $modelWriteOffsProductsErp = $query->asArray()->All(); @@ -995,7 +995,7 @@ class WriteOffsErpController extends Controller $id = Yii::$app->request->post("id"); $model = WriteOffsErp::find()->andWhere([ - '`write_offs_erp`.`id`' => $id, + 'write_offs_erp.id' => $id, 'active' => 1, 'status' => [WriteOffsErp::STATUS_SEND,WriteOffsErp::STATUS_ERROR_1С], ]) @@ -1010,8 +1010,8 @@ class WriteOffsErpController extends Controller $writeOffsProductsErpIds = ArrayHelper::getColumn($model->writeOffsProductsErps, 'id'); $query = WriteOffsProductsErp::find() ->andWhere([ - '`write_offs_products_erp`.`id`' => $writeOffsProductsErpIds, - '`write_offs_products_erp`.`active_product`' => 1, + 'write_offs_products_erp.id' => $writeOffsProductsErpIds, + 'write_offs_products_erp.active_product' => 1, ]); $modelWriteOffsProductsErp = $query->asArray()->All(); diff --git a/erp24/helpers/File.php b/erp24/helpers/File.php index 2582b7e2..3fa0cde6 100644 --- a/erp24/helpers/File.php +++ b/erp24/helpers/File.php @@ -114,9 +114,9 @@ class File extends FileHelper } $substr = substr($filename, 0, 2); $imagePath = self::filepath($filename, 'images'); - $resizePath = "/var/www/erp/uploads/images/resize/{$substr}/{$w}_{$h}_{$quality}"; + $resizePath = "/var/www/erp24/uploads/images/resize/{$substr}/{$w}_{$h}_{$quality}"; $resizedUrl = "{$resizePath}/{$filename}"; - $resizedPath = "/var/www/erp/uploads/images/resize/{$substr}/{$w}_{$h}_{$quality}"; + $resizedPath = "/var/www/erp24/uploads/images/resize/{$substr}/{$w}_{$h}_{$quality}"; $resizedFile = "{$resizedPath}/{$filename}"; if (!file_exists($imagePath)) { diff --git a/erp24/helpers/SalaryHelper.php b/erp24/helpers/SalaryHelper.php index 13160b2c..862205c3 100755 --- a/erp24/helpers/SalaryHelper.php +++ b/erp24/helpers/SalaryHelper.php @@ -178,6 +178,8 @@ class SalaryHelper sales.date <= :date_to GROUP BY sales.id, + sales.number, + sales.date, sales.seller_id, sales.operation ORDER BY @@ -473,6 +475,8 @@ class SalaryHelper GROUP BY sales.id, sales.seller_id, + sales.number, + sales.date, sales.operation ", diff --git a/erp24/records/ChartDataSearch.php b/erp24/records/ChartDataSearch.php index 3f506099..0328fe2f 100644 --- a/erp24/records/ChartDataSearch.php +++ b/erp24/records/ChartDataSearch.php @@ -1289,7 +1289,7 @@ class ChartDataSearch /* Конец ФОТ (admin_payroll_days) */ /* SELECT SUM(admin_payroll_days.day_payroll) AS "payroll_day_sum", SUM(admin_payroll_days.sales_sum) AS "sales_sum" - FROM `admin_payroll_days` + FROM admin_payroll_days WHERE (date BETWEEN "2023-08-01" AND "2023-08-01"); */ // endregion diff --git a/erp24/records/Products1c.php b/erp24/records/Products1c.php index 72889c21..8937dfc9 100644 --- a/erp24/records/Products1c.php +++ b/erp24/records/Products1c.php @@ -124,12 +124,12 @@ class Products1c extends \yii\db\ActiveRecord $tip = 'products'; $query = self::find() - ->select(['name', '`products_1c`.`id`' , 'parent_id']) + ->select(['name', 'products_1c.id' , 'parent_id']) ->andWhere('tip=:tip', [':tip' => $tip]) ->innerJoin('prices_dynamic', 'products_1c.id = prices_dynamic.product_id') ; - $listAllProductsPreparedDict = $query->orderBy(['`products_1c`.`name`' => SORT_ASC])->asArray() + $listAllProductsPreparedDict = $query->orderBy(['products_1c.name' => SORT_ASC])->asArray() ->all(); return ArrayHelper::map($listAllProductsPreparedDict, 'id', 'name'); diff --git a/erp24/records/SalesSearch.php b/erp24/records/SalesSearch.php index 00f913fd..d2acd474 100755 --- a/erp24/records/SalesSearch.php +++ b/erp24/records/SalesSearch.php @@ -7,7 +7,7 @@ use yii\data\ActiveDataProvider; use yii_app\records\Sales; /** - * SalesSearch represents the model behind the search form of `yii_app\records\Sales`. + * SalesSearch represents the model behind the search form of yii_app\records\Sales. */ class SalesSearch extends Sales { @@ -67,18 +67,18 @@ class SalesSearch extends Sales // grid filtering conditions $query->andFilterWhere([ // 'date' => $this->date, - '`sales`.`summ`' => $this->summ, - '`sales`.`skidka`' => $this->skidka, - '`sales`.`admin_id`' => $this->admin_id, - '`sales`.`store_id`' => $this->store_id, - '`sales`.`phone`' => $this->phone, - '`sales`.`status_check`' => $this->status_check, - '`sales`.`held`' => $this->held, - '`sales`.`matrix`' => $this->matrix, - '`sales`.`date_up`' => $this->date_up, + 'sales.summ' => $this->summ, + 'sales.skidka' => $this->skidka, + 'sales.admin_id' => $this->admin_id, + 'sales.store_id' => $this->store_id, + 'sales.phone' => $this->phone, + 'sales.status_check' => $this->status_check, + 'sales.held' => $this->held, + 'sales.matrix' => $this->matrix, + 'sales.date_up' => $this->date_up, ]); - $query->andFilterWhere(['>=', '`sales`.`date`', $this->date]); + $query->andFilterWhere(['>=', 'sales.date', $this->date]); $query->andFilterWhere(['like', 'id', $this->id]) ->andFilterWhere(['like', 'operation', $this->operation]) diff --git a/erp24/records/WriteOffsErp.php b/erp24/records/WriteOffsErp.php index 150abe45..7c6b1d01 100644 --- a/erp24/records/WriteOffsErp.php +++ b/erp24/records/WriteOffsErp.php @@ -133,7 +133,7 @@ class WriteOffsErp extends \yii\db\ActiveRecord */ public function getWriteOffsProductsErps() { - return $this->hasMany(WriteOffsProductsErp::className(), ['write_offs_erp_id' => 'id'])->onCondition(['`write_offs_products_erp`.`active_product`' => 1]); + return $this->hasMany(WriteOffsProductsErp::className(), ['write_offs_erp_id' => 'id'])->onCondition(['write_offs_products_erp.active_product' => 1]); } @@ -157,7 +157,7 @@ class WriteOffsErp extends \yii\db\ActiveRecord } // public function getImagesWriteOffsErp() { - return $this->hasMany(ImageDocumentLink::class, ['document_item_id' => 'id'])->onCondition(['`image_document_link`.`active`' => 1])->onCondition(['`image_document_link`.`document_group_id`' => 1])->via('writeOffsProductsErps'); + return $this->hasMany(ImageDocumentLink::class, ['document_item_id' => 'id'])->onCondition(['image_document_link.active' => 1])->onCondition(['image_document_link.document_group_id' => 1])->via('writeOffsProductsErps'); } diff --git a/erp24/records/WriteOffsErpSearch.php b/erp24/records/WriteOffsErpSearch.php index d6256652..25514153 100644 --- a/erp24/records/WriteOffsErpSearch.php +++ b/erp24/records/WriteOffsErpSearch.php @@ -7,7 +7,7 @@ use yii\data\ActiveDataProvider; use yii_app\records\WriteOffsErp; /** - * WriteOffsErpSearch represents the model behind the search form of `yii_app\records\WriteOffsErp`. + * WriteOffsErpSearch represents the model behind the search form of yii_app\records\WriteOffsErp. */ class WriteOffsErpSearch extends WriteOffsErp { @@ -116,7 +116,7 @@ class WriteOffsErpSearch extends WriteOffsErp $query->andFilterWhere(['like', 'guid', $this->guid]) ->andFilterWhere(['like', 'store_guid', $this->store_guid]) ->andFilterWhere(['like', 'number', $this->number]) - ->andFilterWhere(['like', '`write_offs_erp`.`date`', $this->date]) + ->andFilterWhere(['like', 'write_offs_erp.date', $this->date]) ->andFilterWhere(['like', 'write_offs_type', $this->write_offs_type]) ->andFilterWhere(['like', 'based_on', $this->based_on]) ->andFilterWhere(['like', 'comment', $this->comment]); diff --git a/erp24/records/WriteOffsProductsErp.php b/erp24/records/WriteOffsProductsErp.php index 2d2b593f..6d38ab3e 100644 --- a/erp24/records/WriteOffsProductsErp.php +++ b/erp24/records/WriteOffsProductsErp.php @@ -51,7 +51,7 @@ class WriteOffsProductsErp extends \yii\db\ActiveRecord { return [ [['write_offs_erp_id', 'date', 'name', 'product_id', 'quantity', 'price','cause_id', 'summ', 'created_at', 'created_admin_id'], 'required'], - [['id', 'write_offs_erp_id', 'num_row', 'active_product', 'created_admin_id', 'cause_id', 'updated_admin_id', 'deleted_admin_id'], 'integer'], + [['write_offs_erp_id', 'num_row', 'active_product', 'created_admin_id', 'cause_id', 'updated_admin_id', 'deleted_admin_id'], 'integer'], [['date', 'color', 'created_at', 'updated_at', 'deleted_at', 'modelsProducts', 'add_image'], 'safe'], [['price', 'summ', 'price_retail', 'summ_retail', 'quantity'], 'number'], [['product_id'], 'string', 'max' => 36], @@ -103,7 +103,7 @@ class WriteOffsProductsErp extends \yii\db\ActiveRecord } // public function getImagesWriteOffsErp() { - return $this->hasMany(ImageDocumentLink::class, ['document_item_id' => 'id'])->onCondition(['`image_document_link`.`active`' => 1])->andOnCondition(['`image_document_link`.`document_group_id`' => 1]); + return $this->hasMany(ImageDocumentLink::class, ['document_item_id' => 'id'])->onCondition(['image_document_link.active' => 1])->andOnCondition(['image_document_link.document_group_id' => 1]); } public function getProduct($productId) { diff --git a/erp24/services/CabinetService.php b/erp24/services/CabinetService.php index c3dcfde3..f7274f2e 100755 --- a/erp24/services/CabinetService.php +++ b/erp24/services/CabinetService.php @@ -3789,10 +3789,10 @@ false { /* * - SELECT `admin_id`,MAX(`date`) FROM `timetable` WHERE `admin_group_id` = 45 + SELECT admin_id,MAX(date) FROM timetable WHERE admin_group_id = 45 -Group BY `admin_id` +Group BY admin_id * */ /** @var Timetable[] $timetable */ diff --git a/erp24/services/InfoTableService.php b/erp24/services/InfoTableService.php index 79ad50c0..ac2a514a 100644 --- a/erp24/services/InfoTableService.php +++ b/erp24/services/InfoTableService.php @@ -591,18 +591,18 @@ class InfoTableService 'sales_products.product_id', 'products_1c.id', 'products_1c.parent_id', - 'products_1c.`name`', + 'products_1c.name', ]) ->joinWith('products1c') ; - $query->andWhere(['>=', '`sales`.`date`', DateHelper::getDateTimeStartDay($dateFrom, true)]); - $query->andWhere(['<=', '`sales`.`date`', DateHelper::getDateTimeEndDay($dateTo, true)]); + $query->andWhere(['>=', 'sales.date', DateHelper::getDateTimeStartDay($dateFrom, true)]); + $query->andWhere(['<=', 'sales.date', DateHelper::getDateTimeEndDay($dateTo, true)]); if (!empty($products)) { - $query->andWhere(['`products_1c`.`parent_id`' => $products]);// ['`products_1c`.`parent_id`' => $products] + $query->andWhere(['products_1c.parent_id' => $products]);// ['products_1c.parent_id' => $products] } // @@ -610,9 +610,9 @@ class InfoTableService // if (!empty($products)) { // $query->andWhere([ // 'OR' , -// ['`products_1c`.`parent_id`' => $products] , -// ['`products_1c`.`id`' => $products] -// ]);// ['`products_1c`.`parent_id`' => $products] +// ['products_1c.parent_id' => $products] , +// ['products_1c.id' => $products] +// ]);// ['products_1c.parent_id' => $products] // } // diff --git a/erp24/views/cabinet202310/_table_salary_checks.php b/erp24/views/cabinet202310/_table_salary_checks.php index fa869bc1..06262d48 100644 --- a/erp24/views/cabinet202310/_table_salary_checks.php +++ b/erp24/views/cabinet202310/_table_salary_checks.php @@ -12,6 +12,10 @@ use yii_app\helpers\HtmlHelper; $this->registerCssFile('/css/common/block-info.css'); $this->registerJsFile('/js/common/block-info.js', ['position' => \yii\web\View::POS_END]); +if (empty($sellerShow)) { + $sellerShow = false; +} + if (!empty($arrUsersSalary)) { $tbl = ''; diff --git a/erp24/views/layouts/header.php b/erp24/views/layouts/header.php index 2be7976b..84d68d2b 100755 --- a/erp24/views/layouts/header.php +++ b/erp24/views/layouts/header.php @@ -93,7 +93,7 @@ $this->registerCssFile('/css/timetable/style.css');
-
+