From: Alexander Smirnov Date: Thu, 21 Dec 2023 10:48:11 +0000 (+0300) Subject: add bonus/users during moving from pure php to yii X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=fb0c9a463a20d0c7cb3e8856cf9d91e963251c02;p=yii-erp24%2F.git add bonus/users during moving from pure php to yii --- diff --git a/erp24/actions/bonus/AjaxBonusHistoryAction.php b/erp24/actions/bonus/AjaxBonusHistoryAction.php new file mode 100644 index 0000000..a881cb9 --- /dev/null +++ b/erp24/actions/bonus/AjaxBonusHistoryAction.php @@ -0,0 +1,12 @@ +controller->renderPartial('ajax-bonus-history'); + } +} \ No newline at end of file diff --git a/erp24/actions/bonus/AjaxBonusRemoveAction.php b/erp24/actions/bonus/AjaxBonusRemoveAction.php new file mode 100644 index 0000000..ae20b9e --- /dev/null +++ b/erp24/actions/bonus/AjaxBonusRemoveAction.php @@ -0,0 +1,12 @@ +controller->renderPartial('ajax-bonus-remove'); + } +} \ No newline at end of file diff --git a/erp24/actions/bonus/AjaxUserAddStopListAction.php b/erp24/actions/bonus/AjaxUserAddStopListAction.php new file mode 100644 index 0000000..f7cdc8b --- /dev/null +++ b/erp24/actions/bonus/AjaxUserAddStopListAction.php @@ -0,0 +1,12 @@ +controller->renderPartial('ajax-user-add-stop-list'); + } +} \ No newline at end of file diff --git a/erp24/actions/bonus/AjaxUserRemoveStopListAction.php b/erp24/actions/bonus/AjaxUserRemoveStopListAction.php new file mode 100644 index 0000000..c25583b --- /dev/null +++ b/erp24/actions/bonus/AjaxUserRemoveStopListAction.php @@ -0,0 +1,12 @@ +controller->renderPartial('ajax-user-remove-stop-list'); + } +} \ No newline at end of file diff --git a/erp24/actions/bonus/UsersAction.php b/erp24/actions/bonus/UsersAction.php new file mode 100644 index 0000000..9fc8243 --- /dev/null +++ b/erp24/actions/bonus/UsersAction.php @@ -0,0 +1,12 @@ +controller->render('users'); + } +} \ No newline at end of file diff --git a/erp24/controllers/BonusController.php b/erp24/controllers/BonusController.php index 1e58eb1..27babf4 100644 --- a/erp24/controllers/BonusController.php +++ b/erp24/controllers/BonusController.php @@ -10,6 +10,11 @@ class BonusController extends \yii\web\Controller 'stat' => \yii_app\actions\bonus\StatAction::class, 'vozvrat-stats' => \yii_app\actions\bonus\VozvratStatsAction::class, 'ajax-show-check' => \yii_app\actions\bonus\AjaxShowCheckAction::class, + 'users' => \yii_app\actions\bonus\UsersAction::class, + 'ajax-bonus-history' => \yii_app\actions\bonus\AjaxBonusHistoryAction::class, + 'ajax-user-add-stop-list' => \yii_app\actions\bonus\AjaxUserAddStopListAction::class, + 'ajax-user-remove-stop-list' => \yii_app\actions\bonus\AjaxUserRemoveStopListAction::class, + 'ajax-bonus-remove' => \yii_app\actions\bonus\AjaxBonusRemoveAction::class, ]; } } \ No newline at end of file diff --git a/erp24/views/bonus/ajax-bonus-history.php b/erp24/views/bonus/ajax-bonus-history.php new file mode 100644 index 0000000..63ee33a --- /dev/null +++ b/erp24/views/bonus/ajax-bonus-history.php @@ -0,0 +1,136 @@ +Добавить клиента в бонусную"; + + + $data = $db::getRows("SELECT id,tip, tip_sale, store_id,bonus,date, name,admin_id, check_id, DATE_FORMAT(date,'%d.%m.%Y в %H:%i') as date_h, +DATE_FORMAT(date_end,'%d.%m.%Y') as date_end, price,price_skidka +FROM users_bonus WHERE phone=? order by date DESC",[$phone]); + echo" +"; + foreach ($data as $row) { + if($row["tip"]=="plus") {$tip="+"; $store_arr_bonus[$row["store_id"]]["plus"]=$store_arr_bonus[$row["store_id"]]["plus"]+$row["bonus"];} + else { $tip="-"; $minus=$minus+$row["bonus"]; $store_arr_bonus[$row["store_id"]]["minus"]=$store_arr_bonus[$row["store_id"]]["minus"]+$row["bonus"]; } + + echo' + + +'; + } + + echo''; + + echo'
бонусыдатамагазин, сотрудникнаименованиедата сгорания
'; + + if($dell_hostory==1) + echo'X'; + + + echo $tip.' '.$row["bonus"].'
от '.(int)$row["price"].'
'.$row["date_h"].''; + if($row["check_id"]) { + + + echo'
просмотр чека '; + + + $operation= $db::getValue("SELECT operation FROM sales WHERE id=? LIMIT 1",[$row["check_id"]]); + + + if($operation=="Удален") echo''.$operation.' '; + + + + + + } + + + $zov=''; + + if($row["tip"]=="plus" and $row["tip_sale"]=="sale") { + $data_v = $db::getRow("SELECT id, date, payments,summ,sales_check, operation FROM sales WHERE sales_check=? AND sales_check!='' LIMIT 1",[$row["check_id"]]); + if(!empty($data_v)) { + $paym=json_decode($data_v["payments"],true); + $nal=0; + $paym_txt=''; + foreach($paym as $kl =>$arrr) { + if($arrr["type"]=="Наличные") $nal=1; + $paym_txt .='1) Тип: '.$arrr["type"].' '.$arrr["terminal"].' Сумма:'.$arrr["summ"].'
'; + } + + + + $zov='
По этому чеку был возврат '.$data_v["operation"].'
Дата: '.$data_v["date"].'
'.$paym_txt.'
'; + + if(!empty($row["check_id"]) and !empty($phone)) { + $id_ol = $db::getValue("SELECT check_id FROM users_bonus WHERE phone=? AND check_id=? AND tip='minus' +AND tip_sale='vozvrat' LIMIT 1",[$phone,$data_v["id"]]); + if(empty($id_ol)) { + $db::sql("INSERT INTO users_bonus (name, phone,date,store_id,check_id,tip,tip_sale,price,bonus) +VALUES ('Возврат по чеку', ?,?,?,?,'minus','vozvrat',?,?)", + [$phone, $data_v["date"], $row["store_id"], $data_v["id"],$data_v["summ"] ,$row["bonus"] ]); + get_bonus_balans($phone, "update"); + } + + } + } + } + + + /*function insert_bonus_vozvrat($phone,$check_id) { + global $db; + $id_ol = $db::getValue("SELECT check_id FROM users_bonus WHERE phone=? AND check_id=? AND tip='minus' AND tip_sale='vozvrat' LIMIT 1",[$phone,$check_id]); + if(empty($id_ol)) { + + $data_v = $db::getRow("SELECT id, date, payments,summ FROM sales WHERE sales_check=?",[$row["check_id"]]); + + + + $db::sql("INSERT INTO users_bonus (name, phone,date,store_id,check_id,tip,tip_sale,price,bonus) + VALUES ('Возврат по чеку', ?,?,?,?,'minus','vozvrat',?,?)", + [$phone, $data_v["date"], $row["store_id"], $check_id,$data_v["summ"] ,$row["bonus"] ]); + get_bonus_balans($phone, "update"); + } + + }*/ + + + echo'
'.$store_arr[$row["store_id"]].', '.$user_arr[$row["admin_id"]].''.$row["name"].' Сумма покупки: '.$row["price"].''; + $row["price_skidka"]=(int)$row["price_skidka"]; + if(!empty($row["price_skidka"])) echo'Скидка:'.$row["price_skidka"]; + + echo $zov; + + echo''.$row["date_end"].'
Итого Списано бонусов: '.$minus.'
'; + +} + + diff --git a/erp24/views/bonus/ajax-bonus-remove.php b/erp24/views/bonus/ajax-bonus-remove.php new file mode 100644 index 0000000..e843cde --- /dev/null +++ b/erp24/views/bonus/ajax-bonus-remove.php @@ -0,0 +1,18 @@ +".$row["tip"]." ".$row["bonus"]." ".$row["name"]." ".$row["date"]." "; + +} + +$q = mysql_query("SELECT * FROM users_date WHERE 1 order by date"); + +while ($row = mysql_fetch_array($q)) { +$users_date[$row["user_id"]] .= "
".$row["name"]." ".$row["date"]." ".$row["date_end"]." ".$row["date_end"]." "; +} + +*/ +$get=""; +$where=" AND id>? "; +$binding[]=0; + +if(!empty($_REQUEST["search"])) { + foreach($_REQUEST["search"] as $pole =>$val) { + $search[$pole]=$val; + if(!empty($val)) { + $get .="&search[$pole]=$val"; + $where .=" AND $pole LIKE ?"; + $binding[]='%'.$val.'%'; + } + } + + +} +$sort_by="date"; $asc_desc="DESC"; +if(!empty($_REQUEST["sort_by"])) $sort_by=htmlentities($_REQUEST["sort_by"]); +if(!empty($_REQUEST["asc_desc"])) $asc_desc=htmlentities($_REQUEST["asc_desc"]); + + + + +$where .="order by $sort_by $asc_desc"; + + +// получаем кол-во записей +$resultNum = $db::getRow("SELECT COUNT(*) as postNum FROM users WHERE 1 $where ",$binding); //'%'.$name.'%' +$rowCount = $resultNum['postNum']; + +$limit = 100; +$offset = !empty($_GET['p'])?(($_GET['p']-1)*$limit):0; +$offset=(int)$offset; + +echo $where; +$data = $db::getRows("SELECT *,DATE_FORMAT(bdate,'%d.%m.%Y') as bdate2,DATE_FORMAT(date,'%d.%m.%Y %H:%i') as date2 FROM users WHERE 1 $where LIMIT $offset,$limit",$binding); + +echo"

Клиенты в программе лояльности

"; +// $where ".print_r($binding)." +//пагинация +if(!empty($data)) { + //инициализируем класс pagination + $pagConfig = array( + 'baseURL'=>'/'.$modul.'/'.$act.'/?'.$get, + 'totalRows'=>$rowCount, + 'perPage'=>$limit + ); + $pagination = new Pagination($pagConfig); + echo $pagination->createLinks(); + +} + + +echo"
+request->getCsrfToken() . "\" /> + + + + + +"; + + +$filter=array( + "sale_cnt" => "Продаж", + "bonus_minus" => "Потрачено бонусов", + "sale_avg_price" => "Средний чек", + "sale_price" => "Сумма продажи", + "balans" => "Баланс", + "date" => "Дате добавления" , + "date_last_sale" => "Дате последней продажи" , + + +); + +echo''; +$pol_arr=array("man"=>"М","women"=>"Ж","none"=>"-",""=>"-"); + +foreach ($data as $row) { + $balans=""; + if(!isset($_SESSION["balance_usr"][$row["phone"]])) { + $balans=get_bonus_balans($row["phone"],'update'); + $_SESSION["balance_usr"][$row["phone"]]=1; + + } + + + echo'3) echo'danger'; echo'"> + + + + + + + +'; +//'.$row["password"].' +} +echo'
дата добавленияКлиент
+ +
Телефон
+ +
продажДаты клиентадата рожденияБаланспотраченоПароль и код
+ + + +
'.$row["date2"].'+ '; + + + if($_SESSION["group_id"]<5) echo''; + echo $row["name"]; + if($_SESSION["group_id"]<5) echo''; + + + echo ' '.$row["comment"].''; + + echo''.$row["phone"].''.$row["sale_cnt"].'даты клиента'; + if($row["bdate"]!='0000-00-00') { + + $barr=explode("-",$row["bdate"]); + echo ''.$barr[2].'.'.$barr[1].'.'.$barr[0].''; + $vozrast=date("Y")-(float)$barr[0]; + echo'('.$vozrast.')'; + } + + + echo''.$row["balans"].' '.$balans.''.$row["bonus_minus"].' '.$row["referal_id"].' + Сума продажи '.$row["sale_price"].' +'; + + if(empty($row["black_list"])) + echo'в черный список'; + if(!empty($row["black_list"])) + echo'удалить из стоплиста'; + + + + + + echo''.$row["sale_store"].' +
'.$users_bonus[$row["id"]].' '.$users_date[$row["id"]].'
'; + +if(!empty($data)) echo $pagination->createLinks(); + + + +// + + +$_CONFIG["jscss"]=" + + + +"; + + + + + + +echo' + + +'; + + + + +include_once dirname(__DIR__, 2) . '/templates/bottom_light.php'; +