From: Vladimir Fomichev Date: Fri, 22 Aug 2025 08:30:04 +0000 (+0300) Subject: Проверка терминалов X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=bd8abf0a9e7922d648fb46f1f3fd93e875a8b582;p=erp24_rep%2Fyii-erp24%2F.git Проверка терминалов --- diff --git a/erp24/api2/controllers/DataController.php b/erp24/api2/controllers/DataController.php index 74a1121c..578433d0 100644 --- a/erp24/api2/controllers/DataController.php +++ b/erp24/api2/controllers/DataController.php @@ -1036,41 +1036,65 @@ class DataController extends BaseController if ($arr["terminals"]) { $k = 0; + $products1cTerminals = Products1c::find() + ->andWhere(['tip' => 'terminals']) + ->indexBy('id') + ->asArray() + ->all(); + $existTerminals = Terminals::find()->indexBy('id')->asArray()->all(); foreach ($arr["terminals"] as $gi2 => $arr2) { - $products1c2 = new Products1c; - $products1c2->id = $arr2['id']; - $products1c2->tip = 'terminals'; - $products1c2->name = $arr2["name"]; - $products1c2->code = $arr2["code"]; - $products1c2->save(); - if ($products1c2->getErrors()) { - LogService::apiErrorLog(json_encode(["error_id" => 3, "error" => $products1c2->getErrors()], JSON_UNESCAPED_UNICODE)); + if (in_array($arr2['id'], $products1cTerminals)) { + continue; + } else { + $products1c2 = new Products1c; + $products1c2->id = $arr2['id']; + $products1c2->tip = 'terminals'; + $products1c2->name = $arr2["name"]; + $products1c2->code = $arr2["code"]; + $products1c2->save(); + if ($products1c2->getErrors()) { + LogService::apiErrorLog(json_encode(["error_id" => 3, "error" => $products1c2->getErrors()], JSON_UNESCAPED_UNICODE)); + } } - $terminal = new Terminals; - $terminal->id = $arr2["id"]; - $terminal->name = $arr2["name"]; - $terminal->code = $arr2["code"]; - $terminal->store_id = $arr["id"]; - $terminal->date = date('Y-m-d H:i:s'); - $terminal->posit = $k; - $terminal->save(); - if ($terminal->getErrors()) { - LogService::apiErrorLog(json_encode(["error_id" => 4, "error" => $terminal->getErrors()], JSON_UNESCAPED_UNICODE)); + + if (in_array($arr2['id'], $existTerminals)) { + continue; + } else { + $terminal = new Terminals; + $terminal->id = $arr2["id"]; + $terminal->name = $arr2["name"]; + $terminal->code = $arr2["code"]; + $terminal->store_id = $arr["id"]; + $terminal->date = date('Y-m-d H:i:s'); + $terminal->posit = $k; + $terminal->save(); + if ($terminal->getErrors()) { + LogService::apiErrorLog(json_encode(["error_id" => 4, "error" => $terminal->getErrors()], JSON_UNESCAPED_UNICODE)); + } + $k++; } - $k++; } } if ($arr['kkms']) { + $products1cKkms = Products1c::find() + ->andWhere(['tip' => 'kkms']) + ->indexBy('id') + ->asArray() + ->all(); foreach ($arr["kkms"] as $gi2 => $arr2) { - $products1c3 = new Products1c; - $products1c3->id = $arr2["id"]; - $products1c3->tip = 'kkms'; - $products1c3->name = $arr2["name"]; - $products1c3->code = $arr2["code"]; - $products1c3->save(); - if ($products1c3->getErrors()) { - LogService::apiErrorLog(json_encode(["error_id" => 5, "error" => $products1c3->getErrors()], JSON_UNESCAPED_UNICODE)); + if (in_array($arr2['id'], $products1cKkms)) { + continue; + } else { + $products1c3 = new Products1c; + $products1c3->id = $arr2["id"]; + $products1c3->tip = 'kkms'; + $products1c3->name = $arr2["name"]; + $products1c3->code = $arr2["code"]; + $products1c3->save(); + if ($products1c3->getErrors()) { + LogService::apiErrorLog(json_encode(["error_id" => 5, "error" => $products1c3->getErrors()], JSON_UNESCAPED_UNICODE)); + } } } }