]> gitweb.erp-flowers.ru Git - yii-erp24/.git/commitdiff
add cron/1c during moving pure php to yii
authorAlexander Smirnov <fredeom@mail.ru>
Fri, 29 Dec 2023 10:20:58 +0000 (13:20 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Fri, 29 Dec 2023 10:20:58 +0000 (13:20 +0300)
erp24/controllers/CronController.php [new file with mode: 0644]
erp24/views/cron/1c.php [new file with mode: 0644]

diff --git a/erp24/controllers/CronController.php b/erp24/controllers/CronController.php
new file mode 100644 (file)
index 0000000..71803f9
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+
+namespace app\controllers;
+
+use yii\web\Controller;
+
+class CronController extends Controller
+{
+    public function action1c() {
+        return $this->render('1c');
+    }
+}
\ No newline at end of file
diff --git a/erp24/views/cron/1c.php b/erp24/views/cron/1c.php
new file mode 100644 (file)
index 0000000..aae6e9d
--- /dev/null
@@ -0,0 +1,113 @@
+<?php
+
+include_once(dirname(__DIR__, 2) . "/startup.php");
+include_once(dirname(__DIR__, 2) . "/inc/db.php");
+include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
+include_once(dirname(__DIR__, 2) . "/inc/design_new.php");
+include_once(dirname(__DIR__, 2) . "/inc/uni.php");
+
+//include_once("templates/top.php");
+
+
+//$data=$db::getRows("SELECT id, name FROM city_store  WHERE 1");
+// foreach ($data as $row)  $store_arr[$row["id"]]=$row["name"];
+
+
+echo'<h1>Создание задания для 1с</h1>';
+
+$items=array(
+    "stores"=>array("name"=>"Магазины"),
+    "nomenclature"=>array("name"=>"Номенклатура"),
+    "sellers"=>array("name"=>"Продавцы"),
+    "balances"=>array("name"=>"Складские остатки"),
+    "counteragents"=>array("name"=>"Контрагенты"),
+    "employee"=>array("name"=>"Физ лица в 1с - продавцы"),
+    "prices"=>array("name"=>"Типы цен", "array"=>array("type_price" =>"Розничная цена")),
+    "checks_dell"=>array("name"=>"Удаление чеков"),
+    "checks"=>array("name"=>"Чеки-продажи", "array"=>array("start_time" =>date("Y-m-d 00:00:00",time()-2*86400),"end_time"=>date("Y-m-d 00:00:00",time()))),
+    "write_offs"=>array("name"=>"Списания", "array"=>array("start_time" =>date("Y-m-d 00:00:00",time()-2*86400),"end_time"=>date("Y-m-d 00:00:00",time()))),
+    "incomings"=>array("name"=>"Документы", "array"=>array("start_time" =>date("Y-m-d 00:00:00",time()-2*86400),"end_time"=>date("Y-m-d 00:00:00",time()))),
+    "payment_types"=>array("name"=>"Виды оплат")
+
+
+//"prices"=>array("name"=>"Цены"),
+);
+
+echo'<form action="" method=post>';
+echo '<input type="hidden" name="_csrf" value="' . Yii::$app->request->getCsrfToken() . '" />';
+foreach($items as $name => $ar) {
+    echo'<br><input type=checkbox name=in['.$name.']> '.$ar["name"].'';
+    echo"<table>";
+    foreach($ar["array"] ?? [] as $tip => $val) {
+// if($name=="checks")  $type="date"; else $type="text"; 
+        echo'<td> '.$tip.'</td><td> <input type="text" ';
+        if(isset($type) && $type=="date") echo' style="width:220px;"';
+
+        echo' class="form-control" name=in_in['.$name.']['.$tip.'] value="'.$val.'"></td>';
+    }
+    echo '</table>';
+}
+echo'<br><button name=save value=1 type=submit class="btn btn-success">Сохранить</button></form>';
+$m=array();
+$request_id=time();
+$m["request_id"]=$request_id;
+foreach($_POST["in"] ?? [] as $n => $array5) {
+    $m3=array();
+    foreach($_POST["in_in"][$n] ?? [] as $t => $ar) {
+        $m[$n][$t]="".$ar;
+    }
+    if(empty($m[$n])) $m[$n]=true;
+}
+
+$json2=json_encode($m,JSON_UNESCAPED_UNICODE);
+echo $json2;
+
+if(!empty($_POST["in"]) and $json2!="[]") {
+
+
+
+    $db::sql("INSERT INTO api_cron (id, date, date_up, json_post,request_id) VALUES (0, NOW(), NOW(),?,?)",[$json2,$request_id]);
+
+}
+
+$status_arr=[0=>"ожидает выполнения",1=>"выполнено"];
+$data = $db::getRows("SELECT * FROM api_cron WHERE 1 order by date DESC LIMIT 30 ");
+echo"<h3>Здания для 1с</h3><table class=\"table table-hover table-sm\"><tbody>";
+foreach($data as $row) {
+    echo"<tr"; if($row["status"]==0) echo" class=\"bg-warning\" ";
+    echo"><td><a href=\"https://api2.bazacvetov24.ru/json/upload_request_id_".$row["request_id"].".json\" target=new>".$row["request_id"]."</a></td><td>".$row["date"]."</td><td>".$row["json_post"]."</td><td>".$status_arr[$row["status"]]."";
+
+    if($row["status"]==1 and $row["date_up"]!="0000-00-00 00:00:00")  echo $row["date_up"];
+
+    echo"</td></tr>";
+
+}
+echo"</tbody></table>";
+
+
+
+
+
+
+
+$data = $db::getRows("SELECT * FROM api_logs WHERE request_id!='' order by date DESC LIMIT 100 ");
+echo"<h3>Логи от 1с</h3>
+
+<table class=\"table table-hover table-sm\"><tbody>";
+foreach($data as $row) {
+    echo"<tr"; if($row["status"]==0) echo" class=\"bg-warning\" ";
+    echo"><td><a href=\"https://api2.bazacvetov24.ru/json/upload_request_id_".$row["request_id"].".json\" target=new>
+".$row["request_id"]."  </a></td><td>".$row["date"]."</td><td>".$row["url"]." ".$row["content"]."</td></tr>";
+
+}
+echo"</tbody></table>";
+
+
+echo'
+<h4>запрос на каждые 12 часов</h4>
+
+<pre>{"request_id": "'.$request_id.'", "nomenclature":true,"balances":true,"prices":{"type_price":"Розничная цена"},"checks":{"start_time":"'.date("Y-m-d",time()-86400).' 00:00:00","end_time":"'.date("Y-m-d",time()).' 23:59:59"},"write_offs":{"start_time":"'.date("Y-m-d",time()-86400*7).' 00:00:00","end_time":"'.date("Y-m-d",time()).' 23:59:59"}}</pre>';
+
+
+
+//include_once dirname(__DIR__, 2) . '/templates/bottom_light.php';