|
...
|
...
|
@@ -11,6 +11,7 @@ namespace App\Console\Commands\DayCount; |
|
|
|
|
|
|
|
use App\Models\Manage\ManageHr;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Models\RankData\RankDataLog;
|
|
|
|
use Carbon\Carbon;
|
|
|
|
use App\Models\HomeCount\AfterCount as AfterCountModel;
|
|
|
|
use Illuminate\Console\Command;
|
|
...
|
...
|
@@ -58,17 +59,49 @@ class AfterCount extends Command |
|
|
|
public function _action(){
|
|
|
|
$this->managerHrModel = new ManageHr();
|
|
|
|
$projectModel = new Project();
|
|
|
|
$rankDataLogModel = new RankDataLog();
|
|
|
|
$todayMidnight = date('Y-m-d 00:00:00', strtotime('today'));
|
|
|
|
$saveData = [];
|
|
|
|
$projectIdArr = $rankDataLogModel->selectField(['is_compliance'=>1,'date'=>date('Y-m-d', strtotime('-3 months'))],'project_id');//3个月前达标的项目id
|
|
|
|
foreach ($this->after_manager as $key => $valM){
|
|
|
|
$idArr = $this->managerHrModel->selectField(['name'=>['in',$valM]],'id');
|
|
|
|
$project_count = $projectModel->where('gl_project.extend_type',0)->where('gl_project.delete_status',0)->where('gl_project.created_at','<=',$todayMidnight)->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)->whereIn('gl_project.type',[2,4])->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
|
|
|
|
$qualified_count = $projectModel->where('gl_project.extend_type',0)->where('gl_project.delete_status',0)->where('gl_project.created_at','<=',$todayMidnight)->where('gl_project.is_remain_today',1)->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)->whereIn('gl_project.type',[2,4])->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
|
|
|
|
$project_count = $projectModel->where('gl_project.extend_type',0)
|
|
|
|
->where('gl_project.delete_status',0)
|
|
|
|
->where('gl_project.created_at','<=',$todayMidnight)
|
|
|
|
->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)
|
|
|
|
->whereIn('gl_project.type',[2,4])
|
|
|
|
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
|
|
|
|
$qualified_count = $projectModel->where('gl_project.extend_type',0)
|
|
|
|
->where('gl_project.delete_status',0)
|
|
|
|
->where('gl_project.created_at','<=',$todayMidnight)
|
|
|
|
->where('gl_project.is_remain_today',1)
|
|
|
|
->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)
|
|
|
|
->whereIn('gl_project.type',[2,4])
|
|
|
|
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
|
|
|
|
$rate = number_format($qualified_count / $project_count, 2);
|
|
|
|
$threeMonthsAgo = date('Y-m-d 00:00:00', strtotime('-3 months'));
|
|
|
|
$three_project_count = $projectModel->where('gl_project.extend_type',0)->where('gl_project.delete_status',0)->where('gl_project.created_at','<=',$threeMonthsAgo)->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)->whereIn('gl_project.type',[2,4])->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
|
|
|
|
$three_qualified_count = $projectModel->where('gl_project.extend_type',0)->where('gl_project.delete_status',0)->where('gl_project.created_at','<=',$threeMonthsAgo)->where('gl_project.is_remain_today',1)->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)->whereIn('gl_project.type',[2,4])->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
|
|
|
|
$three_project_count = $projectModel->where('gl_project.extend_type',0)
|
|
|
|
->where('gl_project.delete_status',0)
|
|
|
|
->where('gl_project.created_at','<=',$threeMonthsAgo)
|
|
|
|
->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)
|
|
|
|
->whereIn('gl_project.type',[2,4])
|
|
|
|
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
|
|
|
|
$three_qualified_count = $projectModel->where('gl_project.extend_type',0)
|
|
|
|
->whereIn('gl_project.id',$projectIdArr)
|
|
|
|
->where('gl_project.delete_status',0)
|
|
|
|
->where('gl_project.created_at','<=',$threeMonthsAgo)
|
|
|
|
->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)
|
|
|
|
->whereIn('gl_project.type',[2,4])
|
|
|
|
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')->count();
|
|
|
|
$three_rate = number_format($three_qualified_count / $three_project_count, 2);
|
|
|
|
$data = $projectModel->where('gl_project.extend_type',0)
|
|
|
|
->where('gl_project.delete_status',0)
|
|
|
|
->where('gl_project.created_at','<=',$todayMidnight)
|
|
|
|
->where('gl_project.is_remain_today',1)
|
|
|
|
->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)
|
|
|
|
->whereIn('gl_project.type',[2,4])
|
|
|
|
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
|
|
|
|
->pluck('gl_project.title');
|
|
|
|
$saveData[] = [
|
|
|
|
'date'=>date('Y-m-d', strtotime('yesterday')),
|
|
|
|
'type'=> $key,
|
|
...
|
...
|
@@ -78,6 +111,7 @@ class AfterCount extends Command |
|
|
|
'three_project_count'=>$three_project_count,
|
|
|
|
'three_qualified_count'=>$three_qualified_count,
|
|
|
|
'three_rate'=>$three_rate,
|
|
|
|
'data' => json_encode($data)
|
|
|
|
];
|
|
|
|
}
|
|
|
|
return $saveData;
|
...
|
...
|
|