作者 lyh

gx脚本

@@ -24,6 +24,9 @@ class RemainDay extends Command @@ -24,6 +24,9 @@ class RemainDay extends Command
24 */ 24 */
25 protected $signature = 'remain_day'; 25 protected $signature = 'remain_day';
26 26
  27 + /**
  28 + * @var 按上线时间统计
  29 + */
27 protected $projectId = [ 30 protected $projectId = [
28 1434,1812 31 1434,1812
29 ];//需要单独处理的项目 32 ];//需要单独处理的项目
@@ -58,6 +61,14 @@ class RemainDay extends Command @@ -58,6 +61,14 @@ class RemainDay extends Command
58 { 61 {
59 $list = Project::whereIn('type', [Project::TYPE_TWO,Project::TYPE_THREE,Project::TYPE_FOUR])->get(); 62 $list = Project::whereIn('type', [Project::TYPE_TWO,Project::TYPE_THREE,Project::TYPE_FOUR])->get();
60 foreach ($list as $item){ 63 foreach ($list as $item){
  64 + if(in_array($item->id,$this->ceaseProjectId)){//暂停的项目
  65 + if($item['type'] == Project::TYPE_TWO && $item->is_compliance == 1){
  66 + $item->pause_days = $item->pause_days + 1;
  67 + }
  68 + if($item['type'] != Project::TYPE_THREE){
  69 + $item->pause_days = $item->pause_days + 1;
  70 + }
  71 + }
61 if(in_array($item->id,$this->projectId)){//已开始优化的时间结算 72 if(in_array($item->id,$this->projectId)){//已开始优化的时间结算
62 $optimizeModel = new DeployOptimize(); 73 $optimizeModel = new DeployOptimize();
63 $opInfo = $optimizeModel->read(['project_id'=>$item->id],['start_date']); 74 $opInfo = $optimizeModel->read(['project_id'=>$item->id],['start_date']);
@@ -65,22 +76,16 @@ class RemainDay extends Command @@ -65,22 +76,16 @@ class RemainDay extends Command
65 continue; 76 continue;
66 } 77 }
67 $diff = time() - strtotime($opInfo['start_date'] ?? $item->uptime); 78 $diff = time() - strtotime($opInfo['start_date'] ?? $item->uptime);
68 - $remain_day = $item['deploy_build']['service_duration'] - floor($diff / (60 * 60 * 24)); 79 + $remain_day = $item['deploy_build']['service_duration'] + $item->pause_days - floor($diff / (60 * 60 * 24));
69 }else{ 80 }else{
70 if($item['type'] == Project::TYPE_TWO){ 81 if($item['type'] == Project::TYPE_TWO){
71 - //获取当前项目的达标天数  
72 - if(in_array($item->id,$this->ceaseProjectId) && ($item->is_compliance == 1)){  
73 - //查看今日是否达标(已达标减1)  
74 - $item->finish_remain_day = (($item->finish_remain_day - 1) < 0) ? 0 : $item->finish_remain_day - 1;  
75 - $item->pause_days = $item->pause_days + 1;  
76 - }  
77 $compliance_day = $item->finish_remain_day ?? 0; 82 $compliance_day = $item->finish_remain_day ?? 0;
78 - $remain_day = $item['deploy_build']['service_duration'] - $compliance_day; 83 + $remain_day = $item['deploy_build']['service_duration'] + $item->pause_days - $compliance_day;
79 }else{ 84 }else{
80 if($item->uptime){ 85 if($item->uptime){
81 $diff = time() - strtotime($item->uptime); 86 $diff = time() - strtotime($item->uptime);
82 $item->finish_remain_day = floor($diff / (60 * 60 * 24)); 87 $item->finish_remain_day = floor($diff / (60 * 60 * 24));
83 - $remain_day = $item['deploy_build']['service_duration'] - floor($diff / (60 * 60 * 24)); 88 + $remain_day = $item['deploy_build']['service_duration'] + $item->pause_days - floor($diff / (60 * 60 * 24));
84 }else{ 89 }else{
85 $remain_day = $item['deploy_build']['service_duration']; 90 $remain_day = $item['deploy_build']['service_duration'];
86 } 91 }