Files
duolamaojiazhen/application/admin/logic/StatcubLogic.php
2025-12-22 13:59:40 +08:00

705 lines
26 KiB
PHP

<?php
namespace app\admin\logic;
use app\common\model\OrderGoods;
use app\common\model\Pay;
use think\helper\Time;
use think\Db;
class StatcubLogic{
/**
* Notes: 时间
* @author 段誉(2021/2/5 18:39)
*/
public static function timeData()
{
//今天时间戳
list($start_t, $end_t) = Time::today();
$start_today = date('Y-m-d H:i:s', $start_t);
$end_today = date('Y-m-d H:i:s', $end_t);
//获取7天前零点到现在的时间戳
list($start_s, $end_s) = Time::dayToNow(7);
$start_seven = date('Y-m-d H:i:s', $start_s);
$end_seven = date('Y-m-d H:i:s', $end_s);
// 获取15天前零点到现在的时间戳
list($start_f, $end_f) = Time::dayToNow(15);
$start_fifteen = date('Y-m-d H:i:s', $start_f);
$end_fifteen = date('Y-m-d H:i:s', $end_f);
return [
'start_t' => $start_t,
'end_t' => $end_t,
'start_s' => $start_s,
'end_s' => $end_s,
'start_f' => $start_f,
'end_f' => $end_f,
'start_today' => $start_today,
'end_today' => $end_today,
'start_seven' => $start_seven,
'end_seven' => $end_seven,
'start_fifteen' => $start_fifteen,
'end_fifteen' => $end_fifteen,
];
}
/**
* Notes: 统计订单列表的内容
* @author 杨左(2021/2/5 18:39)
*/
public static function Numorder(){
//更新时间
$time = time();
$time_end =$time + 86399;
//今日成交订单
$order_num_today = Db::name('order_exe')
->where('autotime', 'between', [$time, $time_end])
->count();
//昨日
$order_num_yesterday = Db::name('order_exe')
->whereTime('autotime', 'today')
->count();
//变化
$order_num_change = $order_num_today - $order_num_yesterday;
if ($order_num_change >= 0) {
$order_num_change = '+' . $order_num_change;
}
//统计订单笔数
$order_num_all = Db::name('order_exe')
->whereTime('autotime', 'month')
->count();
//暂停订单数据
$order_stop_today = Db::name('order_exe')
->where('status',3)
->where('autotime', 'between', [$time, $time_end])
->count();
//昨日
$order_stop_yesterday = Db::name('order_exe')
->where('status',3)
->whereTime('autotime', 'today')
->count();
//变化
$order_stop_change = $order_stop_today - $order_stop_yesterday;
if ($order_stop_change >= 0) {
$order_stop_change = '+' . $order_stop_change;
}
//统计订单笔数
$order_stop_all = Db::name('order_exe')
->where('status',3)
->whereTime('autotime', 'month')
->count();
//待接单
$order_wait_today = Db::name('order_exe')
->where('staff_status',0)
->where('autotime', 'between', [$time, $time_end])
->count();
//昨日
$order_wait_yesterday = Db::name('order_exe')
->where('staff_status',0)
->whereTime('autotime', 'today')
->count();
//变化
$order_wait_change = $order_wait_today - $order_wait_yesterday;
if ($order_wait_change >= 0) {
$order_wait_change = '+' . $order_wait_change;
}
//统计订单笔数
$order_wait_all = Db::name('order_exe')
->where('staff_status',0)
->whereTime('autotime', 'month')
->count();
//已完成统计
$order_comp_today = Db::name('order_exe')
->whereTime('autotime', 'today')
->where('staff_status',3)
->count();
//昨日
$order_comp_yesterday = Db::name('order_exe')
->where('staff_status',3)
->whereTime('autotime', 'yesterday')
->count();
//统计订单笔数
$order_comp_all = Db::name('order_exe')
->where('staff_status',3)
->whereTime('autotime', 'month')
->count();
//是否上传图片
$order_img_today = Db::name('order_exe')
->where('is_images',1)
->whereTime('autotime', 'today')
->count();
//昨日
$order_img_yesterday = Db::name('order_exe')
->where('is_images',1)
->whereTime('autotime', 'yesterday')
->count();
//统计订单笔数
$order_img_all = Db::name('order_exe')
->where('is_images',1)
->whereTime('autotime', 'month')
->count();
//今天未派单
$order_pary_today=Db::name('order_exe')
->whereNull('staff_id')
->where('autotime', 'between', [$time, $time_end])
->count();
$order_pary_yesterday=Db::name('order_exe')
->whereNull('staff_id')
->whereTime('autotime', 'today')
->count();
$pary=Db::name('order_exe')
->where('abnormal',1)
->whereTime('autotime', 'month')
->count();
return [
'time' => $time,
'order_num_today' => $order_num_today,
'order_num_yesterday' => $order_num_yesterday,
'order_num_change' => $order_num_change,
'order_num_all' => $order_num_all,
'order_stop_today' => $order_stop_today,
'order_stop_yesterday' => $order_stop_yesterday,
'order_stop_change' => $order_stop_change,
'order_stop_all' => $order_stop_all,
'order_wait_today' => $order_wait_today-$order_stop_today,
'order_wait_yesterday' => $order_wait_yesterday-$order_stop_yesterday,
'order_wait_change' => $order_wait_change,
'order_wait_all' => $order_wait_all-$order_stop_all,
'order_comp_today' => $order_comp_today,
'order_comp_yesterday' => $order_comp_yesterday,
'order_comp_all' => $order_comp_all,
'order_img_today' => $order_img_today,
'order_img_yesterday' => $order_img_yesterday,
'order_img_all' => $order_img_all,
'order_pary_today' => $order_pary_today,
'order_pary_yesterday' => $order_pary_yesterday,
'pary' =>$pary
];
}
/**
* Notes: 统计订单列表的内容
* @author 杨左(2021/2/5 18:39)
*/
public static function UserNumorder(){
//更新时间
$time = date('Y-m-d H:i:s', time());
//今日成交订单
$order_num_today = Db::name('order')
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->where('admin_id',session('admin_info.id'))
->whereTime('create_time', 'today')
->count();
//昨日
$order_num_yesterday = Db::name('order')
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->where('admin_id',session('admin_info.id'))
->whereTime('create_time', 'yesterday')
->count();
//变化
$order_num_change = $order_num_today - $order_num_yesterday;
if ($order_num_change >= 0) {
$order_num_change = '+' . $order_num_change;
}
//统计订单笔数
$order_num_all = Db::name('order')
->whereTime('create_time', 'month')
->where('admin_id',session('admin_info.id'))
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->count();
//今日销售金额(元)
$order_amount_today = Db::name('order')
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->where('admin_id',session('admin_info.id'))
->whereTime('create_time', 'today')
->sum('order_amount');
//昨日
$order_amount_yesterday = Db::name('order')
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->where('admin_id',session('admin_info.id'))
->whereTime('create_time', 'yesterday')
->sum('order_amount');
//统计订单总数月
$order_amount_all = Db::name('order')
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->where('admin_id',session('admin_info.id'))
->whereTime('create_time', 'month')
->sum('order_amount');
//变化
$order_amount_change = $order_amount_today - $order_amount_yesterday;
if ($order_amount_change >= 0) {
$order_amount_change = '+' . $order_amount_change;
}
//应收账款
$order_past_today = Db::name('order')
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->where('pay_zd',0)
->where('admin_id',session('admin_info.id'))
->whereTime('create_time', 'today')
->sum('order_amount');
//昨日
$order_past_yesterday = Db::name('order')
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->where('pay_zd',0)
->where('admin_id',session('admin_info.id'))
->whereTime('create_time', 'yesterday')
->sum('order_amount');
//变化
$order_past_change = $order_past_today - $order_past_yesterday;
if ($order_past_change >= 0) {
$order_past_change = '+' . $order_past_change;
}
//统计订单笔数
$order_past_all = Db::name('order')
->whereTime('create_time', 'month')
->where('pay_zd',0)
->where('admin_id',session('admin_info.id'))
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->sum('order_amount');
//未收账款
$order_not_today = Db::name('order')
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->where('pay_zd',1)
->where('admin_id',session('admin_info.id'))
->whereTime('create_time', 'today')
->sum('order_amount');
//昨日
$order_not_yesterday = Db::name('order')
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->where('pay_zd',1)
->where('admin_id',session('admin_info.id'))
->whereTime('create_time', 'yesterday')
->sum('order_amount');
//变化
$order_not_change = $order_not_today - $order_not_yesterday;
if ($order_not_change >= 1) {
$order_not_change = '+' . $order_not_change;
}
//统计订单笔数
$order_not_all = Db::name('order')
->whereTime('create_time', 'month')
->where('pay_zd',1)
->where('admin_id',session('admin_info.id'))
->where(['del' => 0, 'pay_status' => Pay::ISPAID])
->sum('order_amount');
return [
'time' => $time,
'order_num_today' => $order_num_today,
'order_num_yesterday' => $order_num_yesterday,
'order_num_change' => $order_num_change,
'order_amount_today' => $order_amount_today,
'order_amount_yesterday' => $order_amount_yesterday,
'order_amount_change' => $order_amount_change,
'order_past_today' => $order_past_today??0,
'order_past_yesterday' => $order_past_yesterday??0,
'order_past_all' => $order_past_all??0,
'order_past_change' => $order_past_change,
'order_not_today' => $order_not_today??0,
'order_not_yesterday' => $order_not_yesterday??0,
'order_not_all' => $order_not_all??0,
'order_not_change' => $order_not_change,
'order_num_all' => $order_num_all,
'order_amount_all' => $order_amount_all,
];
}
/**
* Notes: 我的日式保洁
* @param $get
* @author 杨左(2021/2/1 10:12)
* @return array
*/
public static function Usercleaning(){
//日式保洁订单统计
$time = date('Y-m-d H:i:s', time());
//今日成交订单
$order_num_today = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('g.brand_id', 1)
->where('admin_id',session('admin_info.id'))
->where(['o.del' => 0,])
->whereTime('o.create_time', 'today')
->count();
//昨日
$order_num_yesterday = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('admin_id',session('admin_info.id'))
->where('g.brand_id', 1)
->where(['o.del' => 0,])
->whereTime('o.create_time', 'yesterday')
->count();
//变化
$order_num_change = $order_num_today - $order_num_yesterday;
if ($order_num_change >= 0) {
$order_num_change = '+' . $order_num_change;
}
//统计订单笔数
$order_num_all = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('admin_id',session('admin_info.id'))
->where('g.brand_id', 1)
->where(['o.del' => 0,])
->whereTime('o.create_time', 'month')
->count();
//今日销售金额(元)
$order_amount_today = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('admin_id',session('admin_info.id'))
->where('g.brand_id', 1)
->where(['o.del' => 0,])
->whereTime('o.create_time', 'today')
->sum('o.order_amount');
//昨日
$order_amount_yesterday = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('admin_id',session('admin_info.id'))
->where('g.brand_id', 1)
->where(['o.del' => 0,])
->whereTime('o.create_time', 'yesterday')
->sum('o.order_amount');
//统计订单总数月
$order_amount_all = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('admin_id',session('admin_info.id'))
->where('g.brand_id', 1)
->where(['o.del' => 0,])
->whereTime('o.create_time', 'month')
->sum('o.order_amount');
//变化
$order_amount_change = $order_amount_today - $order_amount_yesterday;
if ($order_amount_change >= 0) {
$order_amount_change = '+' . $order_amount_change;
}
//应收账款
$order_past_today = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('admin_id',session('admin_info.id'))
->where('g.brand_id', 1)
->where(['o.del' => 0,'o.pay_zd'=>0])
->whereTime('o.create_time', 'today')
->sum('o.order_amount');
//昨日
$order_past_yesterday = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('admin_id',session('admin_info.id'))
->where('g.brand_id', 1)
->where(['o.del' => 0,'o.pay_zd'=>0])
->whereTime('o.create_time', 'yesterday')
->sum('o.order_amount');
//变化
$order_past_change = $order_past_today - $order_past_yesterday;
if ($order_past_change >= 0) {
$order_past_change = '+' . $order_past_change;
}
//统计订单笔数
$order_past_all = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('admin_id',session('admin_info.id'))
->where('g.brand_id', 1)
->where(['o.del' => 0,'o.pay_zd'=>0])
->whereTime('o.create_time', 'month')
->sum('o.order_amount');
//未收账款
$order_not_today = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('admin_id',session('admin_info.id'))
->where('g.brand_id', 1)
->where(['o.del' => 0,'o.pay_zd'=>1])
->whereTime('o.create_time', 'today')
->sum('o.order_amount');
//昨日
$order_not_yesterday = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('admin_id',session('admin_info.id'))
->where('g.brand_id', 1)
->where(['o.del' => 0,'o.pay_zd'=>1])
->whereTime('o.create_time', 'yesterday')
->sum('o.order_amount');
//变化
$order_not_change = $order_not_today - $order_not_yesterday;
if ($order_not_change >= 1) {
$order_not_change = '+' . $order_not_change;
}
//统计订单笔数
$order_not_all = Db::name('order')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('admin_id',session('admin_info.id'))
->where('g.brand_id', 1)
->where(['o.del' => 0,'o.pay_zd'=>1])
->whereTime('o.create_time', 'month')
->sum('o.order_amount');
return [
'time' => $time,
'order_num_today' => $order_num_today,
'order_num_yesterday' => $order_num_yesterday,
'order_num_change' => $order_num_change,
'order_amount_today' => $order_amount_today,
'order_amount_yesterday' => $order_amount_yesterday,
'order_amount_change' => $order_amount_change,
'order_past_today' => $order_past_today??0,
'order_past_yesterday' => $order_past_yesterday??0,
'order_past_all' => $order_past_all??0,
'order_past_change' => $order_past_change,
'order_not_today' => $order_not_today??0,
'order_not_yesterday' => $order_not_yesterday??0,
'order_not_all' => $order_not_all??0,
'order_not_change' => $order_not_change,
'order_num_all' => $order_num_all,
'order_amount_all' => $order_amount_all,
];
}
/**
* Notes: 产能中心子订单统计
* @author 杨左(2021/2/5 18:39)
*/
public static function capcleaning(){
//更新时间
$time = time();
$time_end =$time + 86399;
//今日成交订单
$order_num_today = Db::name('order_exe')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('g.brand_id', 1)
->where('o.admin_id',session('admin_info.id'))
->where('o.autotime', 'between', [$time, $time_end])
->count();
//昨日
$order_num_yesterday = Db::name('order_exe')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('g.brand_id', 1)
->where('o.admin_id',session('admin_info.id'))
->whereTime('o.autotime', 'today')
->count();
//变化
$order_num_change = $order_num_today - $order_num_yesterday;
if ($order_num_change >= 0) {
$order_num_change = '+' . $order_num_change;
}
//统计订单笔数
$order_num_all = Db::name('order_exe')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('g.brand_id', 1)
->where('o.admin_id',session('admin_info.id'))
->whereTime('o.autotime', 'month')
->count();
//暂停订单数据
$order_stop_today = Db::name('order_exe')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('g.brand_id', 1)
->where('o.status',3)
->where('o.admin_id',session('admin_info.id'))
->where('o.autotime', 'between', [$time, $time_end])
->count();
//昨日
$order_stop_yesterday = Db::name('order_exe')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('g.brand_id', 1)
->where('o.status',3)
->where('o.admin_id',session('admin_info.id'))
->whereTime('o.autotime', 'today')
->count();
//变化
$order_stop_change = $order_stop_today - $order_stop_yesterday;
if ($order_stop_change >= 0) {
$order_stop_change = '+' . $order_stop_change;
}
//统计订单笔数
$order_stop_all = Db::name('order_exe')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('g.brand_id', 1)
->where('o.status',3)
->where('o.admin_id',session('admin_info.id'))
->whereTime('o.autotime', 'month')
->count();
//待接单
$order_wait_today = Db::name('order_exe')
->alias('o')
->join('goods g', 'o.goods_id = g.id')
->where('g.brand_id', 1)
->where('o.admin_id',session('admin_info.id'))
->where('staff_status',0)
->where('autotime', 'between', [$time, $time_end])
->count();
//昨日
$order_wait_yesterday = Db::name('order_exe')
->where('staff_status',0)
->whereTime('autotime', 'today')
->count();
//变化
$order_wait_change = $order_wait_today - $order_wait_yesterday;
if ($order_wait_change >= 0) {
$order_wait_change = '+' . $order_wait_change;
}
//统计订单笔数
$order_wait_all = Db::name('order_exe')
->where('staff_status',0)
->whereTime('autotime', 'month')
->count();
//已完成统计
$order_comp_today = Db::name('order_exe')
->whereTime('autotime', 'today')
->where('staff_status',3)
->count();
//昨日
$order_comp_yesterday = Db::name('order_exe')
->where('staff_status',3)
->whereTime('autotime', 'yesterday')
->count();
//统计订单笔数
$order_comp_all = Db::name('order_exe')
->where('staff_status',3)
->whereTime('autotime', 'month')
->count();
//是否上传图片
$order_img_today = Db::name('order_exe')
->where('is_images',1)
->whereTime('autotime', 'today')
->count();
//昨日
$order_img_yesterday = Db::name('order_exe')
->where('is_images',1)
->whereTime('autotime', 'yesterday')
->count();
//统计订单笔数
$order_img_all = Db::name('order_exe')
->where('is_images',1)
->whereTime('autotime', 'month')
->count();
//今天未派单
$order_pary_today=Db::name('order_exe')
->whereNull('staff_id')
->where('autotime', 'between', [$time, $time_end])
->count();
$order_pary_yesterday=Db::name('order_exe')
->whereNull('staff_id')
->whereTime('autotime', 'today')
->count();
$pary=Db::name('order_exe')
->where('abnormal',1)
->whereTime('autotime', 'month')
->count();
return [
'time' => $time,
'order_num_today' => $order_num_today,
'order_num_yesterday' => $order_num_yesterday,
'order_num_change' => $order_num_change,
'order_num_all' => $order_num_all,
'order_stop_today' => $order_stop_today,
'order_stop_yesterday' => $order_stop_yesterday,
'order_stop_change' => $order_stop_change,
'order_stop_all' => $order_stop_all,
'order_wait_today' => $order_wait_today-$order_stop_today,
'order_wait_yesterday' => $order_wait_yesterday-$order_stop_yesterday,
'order_wait_change' => $order_wait_change,
'order_wait_all' => $order_wait_all-$order_stop_all,
'order_comp_today' => $order_comp_today,
'order_comp_yesterday' => $order_comp_yesterday,
'order_comp_all' => $order_comp_all,
'order_img_today' => $order_img_today,
'order_img_yesterday' => $order_img_yesterday,
'order_img_all' => $order_img_all,
'order_pary_today' => $order_pary_today,
'order_pary_yesterday' => $order_pary_yesterday,
'pary' =>$pary
];
}
}
?>