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));
+ }
}
}
}