123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- <?php
- namespace app\h5\controller;
- use app\hander\HelpHander;
- use think\Controller;
- use think\Db;
- class Project extends Controller{
- public function workerCount(){
- $post = request()->post();
- $count = Db::name('worker')
- ->alias('w')
- ->join('user u','u.id=w.user_id')
- ->join('user_org uo','uo.user_id=u.id')
- ->where('u.del',0)
- ->where('u.enable',1)
- ->where('uo.org_id',$post['orgid'])
- ->count();
- $serverNums = Db::name('ph_todo')
- ->where('org_id',$post['orgid'])
- ->where('status',1)
- ->group('worker_id')
- ->count();
- $leisureNums = $count-$serverNums>0?$count-$serverNums:0;
- $data = [
- ['name'=>'服务中','bl'=>round($serverNums/$count*100,2),'value'=>$serverNums],
- ['name'=>'空闲中','bl'=>round($leisureNums/$count*100,2),'value'=>$leisureNums],
- ];
- HelpHander::success($data);
- }
- public function workerNums(){
- $post = request()->post();
- $count = Db::name('worker')
- ->alias('w')
- ->join('user u','u.id=w.user_id')
- ->join('user_org uo','uo.user_id=u.id')
- ->where('u.del',0)
- ->where('u.enable',1)
- ->where('uo.org_id',$post['orgid'])
- ->count();
- $serverNums = Db::name('ph_todo')
- ->where('org_id',$post['orgid'])
- ->where('status',1)
- ->group('worker_id')
- ->count();
- $leisureNums = $count-$serverNums>0?$count-$serverNums:0;
- $data = [
- 'count'=>$count,
- 'kxz'=>$leisureNums,
- 'fwz'=>$serverNums,
- ];
- HelpHander::success($data);
- }
- //今日订单数
- public function orderNums(){
- $post = request()->post();
- $day = date('Y-m-d');
- $start = $day.' 00:00:00';
- $end = $day.' 23:59:59';
- $orderCount = Db::name('ph_orders')->where('org_id',$post['orgid'])->count();
- $map[] =['create_time','>=',$start];
- $map[] =['create_time','<=',$end];
- $map[] =['org_id','=',$post['orgid']];
- $map1[] =['settlement_time','>=',$start];
- $map1[] =['settlement_time','<=',$end];
- $map1[] =['org_id','=',$post['orgid']];
- $count = Db::name('ph_orders')->where($map)->count();
- $serverCount = Db::name('ph_orders')->where('org_id',$post['orgid'])->where('status',1)->count();
- $jsCount = Db::name('ph_orders')->where($map1)->where('status',4)->count();
- $data = [
- 'count'=>$count,
- 'serverCount'=>$serverCount,
- 'jsCount'=>$jsCount,
- 'orderCount'=>$orderCount
- ];
- HelpHander::success($data);
- }
- public function worderList(){
- $post = request()->post();
- $worker = Db::name('worker')
- ->alias('w')
- ->field('w.id,u.real_name')
- ->join('user u','u.id=w.user_id')
- ->join('user_org uo','uo.user_id=u.id')
- ->where('u.del',0)
- ->where('u.enable',1)
- ->where('uo.org_id',$post['orgid'])
- ->select();
- foreach ($worker as $k=>$v){
- $worker[$k]['servicesNum'] =Db::name('ph_todo')
- ->where('worker_id',$v['id'])
- ->where('org_id',$post['orgid'])
- ->group('user_id')
- ->count();
- $worker[$k]['servicesDay'] = Db::name('ph_todo')
- ->where('worker_id',$v['id'])
- ->where('org_id',$post['orgid'])
- ->where('status',2)
- ->sum('day');
- }
- HelpHander::success($worker);
- }
- public function commentList(){
- $post = request()->post();
- $firstDay = date('Y-m-01 00:00:00', time());
- $lastDay = date('Y-m-d 23:59:59', strtotime("$firstDay +1 month -1 day"));
- $map[] = ['create_time','>',$firstDay];
- $map[] = ['create_time','<=',$lastDay];
- $map[] = ['org_id','=',$post['orgid']];
- $work = Db::name('worker')
- ->alias('w')
- ->field('w.id,u.real_name')
- ->join('user u','u.id=w.user_id')
- ->join('user_org uo','uo.user_id=u.id')
- ->where('u.del',0)
- ->where('u.enable',1)
- ->where('uo.org_id',$post['orgid'])
- ->select();
- $work = $work?$work:[];
- foreach ($work as $k=>$v){
- $jxz = Db::name('ph_todo')
- ->where($map)
- ->where('status',1)
- ->where('worker_id',$v['id'])
- ->count();
- $ywc = Db::name('ph_todo')
- ->where($map)
- ->where('status',2)
- ->where('worker_id',$v['id'])
- ->count();
- $work[$k]['jxz'] = $jxz;
- $work[$k]['ywc'] = $ywc;
- }
- $work = list_sort_by($work,'ywc','desc');
- HelpHander::success($work);
- }
- public function sevenDayOrder(){
- $post = request()->post();
- $dlist = [
- date('Y-m-d',strtotime('-6 days')),
- date('Y-m-d',strtotime('-5 days')),
- date('Y-m-d',strtotime('-4 days')),
- date('Y-m-d',strtotime('-3 days')),
- date('Y-m-d',strtotime('-2 days')),
- date('Y-m-d',strtotime('-1 days')),
- date('Y-m-d'),
- ];
- $xdata = [];
- $count2= [];
- $count3 = [];
- foreach ($dlist as $v){
- $tt = date('Y-m-d',strtotime($v));
- $st = $tt.' 00:00:00';
- $et = $tt.' 23:59:59';
- $countTwo = Db::name('ph_orders')
- ->where('create_time','>=',$st)
- ->where('create_time','<=',$et)
- ->where('status',1)
- ->where('org_id',$post['orgid'])
- ->count();
- $countThere = Db::name('ph_orders')
- ->where('create_time','>=',$st)
- ->where('create_time','<=',$et)
- ->where('org_id',$post['orgid'])
- ->count();
- $count2[] = $countTwo;
- $count3[] = $countThere;
- $xdata[] = date('m-d',strtotime($v));
- }
- $data = [
- 'xdata' => $xdata,
- 'count2' => $count2,
- 'count3' => $count3,
- ];
- HelpHander::success($data);
- }
- public function orderMessageList(){
- $post = request()->post();
- $ret = Db::name('ph_orders')
- ->where('org_id',$post['orgid'])
- ->order('id','desc')
- ->select();
- $ret = $ret?$ret:[];
- foreach ($ret as $k=>$v){
- $userInfo = Db::name('user')
- ->where('id',$v['user_id'])
- ->value('real_name');
- $cateInfo = Db::name('cate')
- ->where('id',$v['cate_id'])
- ->value('title');
- $ret[$k]['content'] = '用户'.$userInfo.$cateInfo;
- }
- HelpHander::success($ret);
- }
- }
|