include_once('../inc/base_new.php');
include_once('../inc/amo_inc.php');
+use Exception;
use Yii;
use yii\web\Controller;
use yii_app\records\CreateChecks;
+use yii_app\records\ExportImportTable;
use yii_app\records\OrdersAmo;
use yii_app\records\OrdersAmoSearch;
->where([
'amo_id' => $arr0["id"]
])
- ->asArray()
- ->one();
+ ->asArray()
+ ->one();
if (empty($dat)) echo "<div> " . $dat["delivery_date"] . " " . $dat["status_id"] . " Заказа нет в системе " . $dat["id"] . " " . $dat["price"] . " </div>";
}
}
+
+ public function actionAjax_create_check_json()
+ {
+ if (!empty($_REQUEST["order_id"])) {
+ $order_id = (int)$_REQUEST["order_id"];
+
+
+ $seller_id = "3d8f7db1-8d67-11eb-bf83-b42e991aff6c"; // продавец
+ $store_id = "dbd70103-2c7b-11e9-9b87-c85b76f0e893"; // аэродромная
+ $kkm_id = "d0d6c742-4db8-11ea-b917-0018f353130f"; //Мочалина Г. М. ИП(Центральный склад) ??
+ $payments_type_id = "cd891514-855f-11ea-a625-40618658b055"; // оплата на сайте - старый cd891514-855f-11ea-a625-40618658b055
+ $terminal_id = "7909401c-703b-11ea-8b4b-0018f353130f"; //Сбербанк ПАО/Мочалина Г. М. ИП 7909401c-703b-11ea-8b4b-0018f353130f
+
+ $payments_array = [
+ "Оплата на сайте (Visa, Mastercard, Мир)" => array("payments_type_id" => "cd891514-855f-11ea-a625-40618658b055", "kkm_id" => "d0d6c742-4db8-11ea-b917-0018f353130f", "terminal_id" => "7909401c-703b-11ea-8b4b-0018f353130f"), // 09 Доставка Букетов
+ "Перевод на карту Сбербанк" => array("payments_type_id" => "a69ea4d1-feff-11e8-8ae7-1c6f659fb563", "kkm_id" => "d0d6c742-4db8-11ea-b917-0018f353130f"), //, "terminal_id"=>"a22aeb16-1c6a-11ec-88f6-fc349715dc38" //payments_type_id = наличные. kkm_id 09 Доставка
+ "Наличными курьеру (+100 руб.)" => array("payments_type_id" => "a69ea4d1-feff-11e8-8ae7-1c6f659fb563", "kkm_id" => "d0d6c742-4db8-11ea-b917-0018f353130f"),
+ "PayPal" => array("payments_type_id" => "cd891514-855f-11ea-a625-40618658b055", "kkm_id" => "a22aeb16-1c6a-11ec-88f6-fc349715dc38", "terminal_id" => "a22aeb16-1c6a-11ec-88f6-fc349715dc38")
+ ];
+
+
+ try {
+ $row = OrdersAmo::find()
+ ->where([
+ 'AND',
+ ['NOT IN', 'delivery', ['Самовывоз', 'Доставка из магазина']],
+ ['amo_id' => $order_id]
+ ])
+ ->orderBy([
+ 'delivery_date' => SORT_DESC
+ ])
+ ->asArray()
+ ->one();
+
+ } catch (Exception $e) {
+ var_dump($e);
+ }
+
+ echo " amo_id = " . $row["amo_id"] . " Вид оплаты " . $row["payment_type_id"] . " " . $row["pay"] . " " . $row["pay_text"] . " florist_id=" . $row["florist_id"] . " seller_id =$seller_id ";
+
+
+ if ($row) {
+
+ // по ID сотрудника узнаем его GUID
+ $seller_id = ExportImportTable::find()
+ ->select([
+ 'export_val'
+ ])
+ ->where([
+ 'AND',
+ ['entity' => 'admin'],
+ ['export_id' => 1],
+ ['entity_id' => $row['florist_id']]
+ ])
+ ->asArray()
+ ->one();
+
+ $products = [];
+ $products_json = json_decode($row["products_json"], true);
+ if (!empty($products_json)) {
+ $amount_total = 0;
+ echo "<table class=\"table\"><tbody>";
+ foreach ($products_json as $k => $arp) {
+ foreach ($arp["items"] as $item) {
+ $a = [];
+ $a["product_id"] = $item["guid"];
+ if (!empty($item["color_id"])) $a["color_id"] = $item["color_id"];
+ if (!empty($item["quantity"])) $a["quantity"] = round($item["quantity"], 2);
+ $a["price"] = round($item["price"], 2);;
+ if (!empty($seller_id)) $a["seller_id"] = $seller_id;
+ $products[] = $a;
+ $amount_total += $a["price"] * $a["quantity"];
+
+ echo "<tr>
+ <td class=\"text-center\"><b class=\"mr-2 ml-2\">" . str_replace(".00", "", $item["quantity"]) . "</b></td>
+ <td class=\"text-left\">" . $item["name"] . "</td>
+ <td>" . $item["color_id"] . "</td>
+ <td class=\"text-center\">" . str_replace(".00", "", $item["price"]) . "</td></tr>";
+ }
+
+ }
+ echo '</tbody></table><br>
+Итого <b>' . $amount_total . '</b> руб.<br>';
+
+ }
+// ставим в соответствие вид оплаты
+
+ $date = CreateChecks::find()
+ ->select([
+ 'date' => 'UNIX_TIMESTAMP(date)'
+ ])
+ ->where([
+ 'AND',
+ ['order_id' => $lid_id],
+ ['type' => 'Продажа']
+ ])
+ ->orderBy([
+ 'UNIX_TIMESTAMP(date)' => SORT_DESC
+ ])
+ ->limit(1)
+ ->asArray()
+ ->one();
+
+ $error = "";
+ if ($date > (time() - 60) and !empty($date)) $error = "Чек не создан так как чек с таким заказом уже создан";
+ if (!empty($error)) echo($error);
+ if (empty($error)) {
+ if (!empty($payments_array[$row["payment_type_id"]])) {
+
+ $pays_arr = [];
+ $payments = [];
+ $pays_arr["type_id"] = $payments_array[$row["payment_type_id"]]["payments_type_id"];
+ if (!empty($terminal_id)) {
+ $pays_arr["terminal_id"] = $terminal_id;
+ }
+ $pays_arr["summ"] = round($row["price"], 2);
+ $payments[] = $pays_arr;
+
+ try {
+ $check_id = create_guid_my("01", $order_id);
+ if (empty($seller_id)) $seller_id = "00000000-0000-0000-0000-000000000000";
+ $check = new CreateChecks(['check_id' => $check_id, 'date' => date('Y-m-d H:i:s'), 'kkm_id' => $kkm_id, 'seller_id' => $seller_id, 'store_id' => $store_id, 'type' => "Продажа", 'order_id' => $order_id, 'items' => json_encode($products, JSON_UNESCAPED_UNICODE), 'payments' => json_encode($payments, JSON_UNESCAPED_UNICODE)]);
+
+ echo "<h1>Чек поставлен в очередь на пробитие в 1с $check_id</h1>";
+ } catch (Exception $e) {
+ var_dump($e);
+ }
+
+ } else {
+ $error = "Тип оплаты не определен - чек не возможно создать";
+
+ }
+ }
+ echo $error;
+
+ }
+
+ } else echo("Отсуствует ID заказа");
+ }
}
\ No newline at end of file