request->token; $token['org_id'] = Employee::where('id',$token['employee_id'])->value('org_id'); $time = date('Y-m-d H:i:s'); $w[] = ['del','=',0]; $w[] = ['root_id','=',$token['root_org']]; $w[] = ['start_date','<=',$time]; $w[] = ['end_date','>=',$time]; $pid = PreformanceTasksModel::where($w)->column('id'); //正在进行中指派给我部门并且没有完成 $w1[] = ['performance_tasks_id','in',$pid]; $w1[] = ['org_id','=',$token['org_id']]; // $w5[] = "if(is_deposit=1,`ok_deposit`<`deposit`,'1=1')"; // $w5[] = "if(is_money=1,`ok_money`<`money`,'1=1')"; $pid = PreformanceTasksOrg::where($w1) // ->where(function($query) use ($w5){ // foreach ($w5 as $k => $v) { // $query->whereOr($v); // } // }) ->column('performance_tasks_id'); $w22[] = ['id','in',$pid]; $org_id = $token['org_id']; $list = PreformanceTasksModel::with(['preformanceTasksOrgOne'=>function($query) use ($org_id){ $query->where([['del','=',0],['org_id','=',$org_id]]); }])->where($w22)->page($param['page'],$param['limit'])->select(); //逾期任务数量 $wy[] = ['del','=',0]; $wy[] = ['root_id','=',$token['root_org']]; $wy[] = ['end_date','<',$time]; $pid = PreformanceTasksModel::where($wy)->column('id'); $w33[] = ['performance_tasks_id','in',$pid]; $w33[] = ['root_id','=',$token['root_org']]; $w33[] = ['del','=',0]; $w33[] = ['org_id','=',$token['org_id']]; $w5[] = "if(is_deposit=1,`ok_deposit`<`deposit`,'1=1')"; $w5[] = "if(is_money=1,`ok_money`<`money`,'1=1')"; $yuqi = PreformanceTasksOrg::where($w33) ->where(function($query) use ($w5){ foreach ($w5 as $k => $v) { $query->whereOr($v); } }) ->group('performance_tasks_id')->count(); foreach ($list as $k => $v) { //自己的业绩 $vid = $v->customer_visit_log_id; $w2[] = ['customer_employee_id','=',$token['employee_id']]; $w2[] = ['confirm_date','between',[$v->start_date,$v->end_date]]; $w2[] = ['id','in',explode(',',$vid)]; $w2[] = ['customer_org_id','=',$token['org_id']]; $w2[] = ['state', 'in',CustomerVisitLog::changeState('已交定', 'chaos')]; $v->my_deposit = CustomerVisitLog::where($w2)->group('customer_id')->count(); $w3[] = ['customer_employee_id','=',$token['employee_id']]; $w3[] = ['confirm_date','between',[$v->start_date,$v->end_date]]; $w3[] = ['state', 'in',CustomerVisitLog::changeState('已签单', 'chaos')]; $w3[] = ['customer_org_id','=',$token['org_id']]; $w3[] = ['id','in',explode(',',$vid)]; $v->my_money = CustomerVisitLog::where($w3)->group('customer_id')->sum('money'); $v->org_deposit = $v->preformanceTasksOrgOne->ok_deposit; $v->org_money = $v->preformanceTasksOrgOne->ok_money; $v->deposit = $v->preformanceTasksOrgOne->deposit; $v->money = $v->preformanceTasksOrgOne->money; unset($w2); unset($w3); unset($v->preformanceTasksOrgOne); $v->start_date = date('Y-m-d',strtotime($v->start_date)); $v->end_date = date('Y-m-d',strtotime($v->end_date)); //交定比例 $v->org_deposit_grawht = $v->deposit==0 ? 0 : (floor($v->org_deposit/$v->deposit*100)>100 ? 100 : floor($v->org_deposit/$v->deposit*100)); $v->my_deposit_grawth = $v->deposit==0 ? 0 : (floor($v->my_deposit/$v->deposit*100)>100 ? 100 : floor($v->my_deposit/$v->deposit*100)); //签单比例 $v->org_money_grawht = $v->money==0 ? 0 : (floor($v->org_money/$v->money*100)>100 ? 100 : floor($v->org_money/$v->money*100)); $v->my_money_grawth = $v->money==0 ? 0 : (floor($v->my_money/$v->money*100)>100 ? 100 : floor($v->my_money/$v->money*100)); } $count = PreformanceTasksModel::where($w22)->count(); return json(['code' => 0, 'data' =>$list,'count'=>$count,'msg' => '编辑成功','yuqi'=>$yuqi]); } //业绩任务列表 public function index(){ $param = Request::only(['page'=>1,'limit'=>10,'type'=>1]); //进行中 if ($param['type']==1) { $list = $this->ing_list($param); }else{//逾期 $list = $this->yuqi_list($param); } return $list; } //逾期 ////已完成和逾期未完成 public function yuqi_list($param){ //已完成 $token = $this->request->token; $token['org_id'] = Employee::where('id',$token['employee_id'])->value('org_id'); $time = date('Y-m-d H:i:s'); $wy[] = ['del','=',0]; $wy[] = ['root_id','=',$token['root_org']]; $wy[] = ['end_date','<',$time]; $pid = PreformanceTasksModel::where($wy)->column('id'); $w334[] = ['performance_tasks_id','in',$pid]; $w334[] = ['root_id','=',$token['root_org']]; $w334[] = ['del','=',0]; $w334[] = ['org_id','=',$token['org_id']]; $pid = PreformanceTasksOrg::where($w334)->group('performance_tasks_id')->column('performance_tasks_id'); $w6[] = ['id','in',$pid]; $org_id = $token['org_id']; $list = PreformanceTasksModel::with(['preformanceTasksOrgOne'=>function($query) use ($org_id){ $query->where([['del','=',0],['org_id','=',$org_id]]); }])->where($w6)->page($param['page'],$param['limit'])->select(); foreach ($list as $k => $v) { $vid = $v->customer_visit_log_id; //自己的业绩 $w23[] = ['customer_employee_id','=',$token['employee_id']]; $w23[] = ['confirm_date','between',[$v->start_date,$v->end_date]]; $w23[] = ['state', 'in',CustomerVisitLog::changeState('已交定', 'chaos')]; $w23[] = ['customer_org_id','=',$token['org_id']]; $w23[] = ['id','in',explode(',',$vid)]; $v->my_deposit = CustomerVisitLog::where($w23)->group('customer_id')->count(); $w33[] = ['customer_employee_id','=',$token['employee_id']]; $w33[] = ['confirm_date','between',[$v->start_date,$v->end_date]]; $w33[] = ['state', 'in',CustomerVisitLog::changeState('已签单', 'chaos')]; $w33[] = ['customer_org_id','=',$token['org_id']]; $w33[] = ['id','in',explode(',',$vid)]; $v->my_money = CustomerVisitLog::where($w33)->group('customer_id')->sum('money'); $v->org_deposit = $v->preformanceTasksOrgOne->ok_deposit; $v->org_money = $v->preformanceTasksOrgOne->ok_money; $v->deposit = $v->preformanceTasksOrgOne->deposit; $v->money = $v->preformanceTasksOrgOne->money; unset($w23); unset($w33); unset($v->preformanceTasksOrgOne); $v->start_date = date('Y-m-d',strtotime($v->start_date)); $v->end_date = date('Y-m-d',strtotime($v->end_date)); //交定比例 $v->org_deposit_grawht = $v->deposit==0 ? 0 : (floor($v->org_deposit/$v->deposit*100)>100 ? 100 : floor($v->org_deposit/$v->deposit*100)); $v->my_deposit_grawth = $v->deposit==0 ? 0 : (floor($v->my_deposit/$v->deposit*100)>100 ? 100 : floor($v->my_deposit/$v->deposit*100)); //签单比例 $v->org_money_grawht = $v->money==0 ? 0 : (floor($v->org_money/$v->money*100)>100 ? 100 : floor($v->org_money/$v->money*100)); $v->my_money_grawth = $v->money==0 ? 0 : (floor($v->my_money/$v->money*100)>100 ? 100 : floor($v->my_money/$v->money*100)); } $count = PreformanceTasksModel::where($w6)->count(); return json(['code' => 0, 'data' =>$list,'count'=>$count,'msg' => '编辑成功']); } }