作者 lyh

gx

@@ -40,7 +40,7 @@ class Count extends Command @@ -40,7 +40,7 @@ class Count extends Command
40 */ 40 */
41 public function handle() 41 public function handle()
42 { 42 {
43 - $list = DB::table('gl_project')->where('gl_project.extend_type','!=',5) 43 + $list = DB::table('gl_project')->where('gl_project.extend_type','=',0)
44 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id') 44 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
45 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id') 45 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
46 ->select($this->selectParam())->get(); 46 ->select($this->selectParam())->get();
@@ -36,7 +36,7 @@ class InquiryMonthlyCount extends Command @@ -36,7 +36,7 @@ class InquiryMonthlyCount extends Command
36 * @time :2023/6/30 9:32 36 * @time :2023/6/30 9:32
37 */ 37 */
38 public function handle(){ 38 public function handle(){
39 - $list = DB::table('gl_project')->where('gl_project.extend_type','!=',5) 39 + $list = DB::table('gl_project')->where('gl_project.extend_type','=',0)
40 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id') 40 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
41 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id') 41 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
42 ->select($this->selectParam())->get()->toArray(); 42 ->select($this->selectParam())->get()->toArray();
@@ -70,6 +70,9 @@ class RemainDay extends Command @@ -70,6 +70,9 @@ class RemainDay extends Command
70 } 70 }
71 } 71 }
72 $item->remain_day = $remain_day > 0 ? $remain_day : 0; 72 $item->remain_day = $remain_day > 0 ? $remain_day : 0;
  73 + if($item->remain_day == 0){
  74 + $item->extend_type = Project::TYPE_FIVE;
  75 + }
73 $item->save(); 76 $item->save();
74 } 77 }
75 } 78 }
@@ -22,6 +22,7 @@ use App\Models\Manage\Manage; @@ -22,6 +22,7 @@ use App\Models\Manage\Manage;
22 use App\Models\Project\DeployBuild; 22 use App\Models\Project\DeployBuild;
23 use App\Models\Project\DeployOptimize; 23 use App\Models\Project\DeployOptimize;
24 use App\Models\Project\Project; 24 use App\Models\Project\Project;
  25 +use App\Models\Project\ProjectRenew;
25 use App\Models\Task\Task; 26 use App\Models\Task\Task;
26 use Carbon\Carbon; 27 use Carbon\Carbon;
27 28
@@ -171,4 +172,24 @@ class RenewProjectController extends BaseController @@ -171,4 +172,24 @@ class RenewProjectController extends BaseController
171 ]; 172 ];
172 return $item; 173 return $item;
173 } 174 }
  175 +
  176 + /**
  177 + * @remark :关联续费单
  178 + * @name :editRenew
  179 + * @author :lyh
  180 + * @method :post
  181 + * @time :2023/9/19 9:59
  182 + */
  183 + public function editRenew(RenewLogic $logic){
  184 + $this->request->validate([
  185 + 'id'=>'required',
  186 + 'renew_id'=>'required',
  187 + ],[
  188 + 'id.required' => 'id不能为空',
  189 + 'renew_id'=>'续费单id不能为空',
  190 + ]);
  191 + $logic->editProjectRenew();
  192 + $this->response('同步成功');
  193 +
  194 + }
174 } 195 }
@@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@
10 namespace App\Http\Logic\Aside\Project; 10 namespace App\Http\Logic\Aside\Project;
11 11
12 use App\Http\Logic\Aside\BaseLogic; 12 use App\Http\Logic\Aside\BaseLogic;
  13 +use App\Models\Project\DeployBuild;
13 use App\Models\Project\Project; 14 use App\Models\Project\Project;
14 use App\Models\Project\ProjectRenew; 15 use App\Models\Project\ProjectRenew;
15 16
@@ -32,8 +33,10 @@ class RenewLogic extends BaseLogic @@ -32,8 +33,10 @@ class RenewLogic extends BaseLogic
32 public function renewListsLog($map,$page,$row,$order,$field = ['*']){ 33 public function renewListsLog($map,$page,$row,$order,$field = ['*']){
33 $lists = $this->model->lists($map,$page,$row,$order,$field); 34 $lists = $this->model->lists($map,$page,$row,$order,$field);
34 if(!empty($lists['list'])){ 35 if(!empty($lists['list'])){
  36 + $projectModel = new Project();
35 foreach ($lists['list'] as $k => $v){ 37 foreach ($lists['list'] as $k => $v){
36 $v['plan'] = Project::planMap()[$v['plan']]; 38 $v['plan'] = Project::planMap()[$v['plan']];
  39 + $v['project_name'] = $projectModel->getProjectName($v['project_id']);
37 $lists['list'][$k] = $v; 40 $lists['list'][$k] = $v;
38 } 41 }
39 } 42 }
@@ -54,4 +57,45 @@ class RenewLogic extends BaseLogic @@ -54,4 +57,45 @@ class RenewLogic extends BaseLogic
54 } 57 }
55 return $this->success($info); 58 return $this->success($info);
56 } 59 }
  60 +
  61 + /**
  62 + * @remark :关联续费单
  63 + * @name :editProjectRenew
  64 + * @author :lyh
  65 + * @method :post
  66 + * @time :2023/9/19 10:21
  67 + */
  68 + public function editProjectRenew(){
  69 + //获取续费单详情
  70 + $info = $this->model->read(['id'=>$this->param['renew_id']]);
  71 + if($info === false){
  72 + $this->fail('当前续费单不存在');
  73 + }
  74 + if($info['project_id'] != 0){
  75 + $this->fail('当前续费单已关联项目,请重新选择');
  76 + }
  77 + try {
  78 + $this->model->edit(['project_id'=>$this->param['id'],'operator_id'=>$this->manager['id']],['id'=>$this->param['renew_id']]);
  79 + $project = new Project();
  80 + $project->edit(['extend_type'=>0],['id'=>$this->param['id']]);
  81 + $deployBuild = new DeployBuild();
  82 + $deployBuild->edit(
  83 + ['service_duration'=>DB::raw('service_duration + ' . $info['service_duration']),
  84 + 'plan'=>$info['plan']], ['project_id'=>$this->param['id']]);
  85 + }catch (\Exception $e){
  86 + $this->fail('系统错误,请联系管理员');
  87 + }
  88 + return $this->success();
  89 + }
  90 +
  91 + /**
  92 + * @remark :续费单还原
  93 + * @name :reductionRenew
  94 + * @author :lyh
  95 + * @method :post
  96 + * @time :2023/9/19 10:39
  97 + */
  98 + public function reductionRenew(){
  99 +
  100 + }
57 } 101 }
@@ -285,4 +285,21 @@ class Project extends Base @@ -285,4 +285,21 @@ class Project extends Base
285 return $data; 285 return $data;
286 } 286 }
287 287
  288 + /**
  289 + * @remark :获取项目名称
  290 + * @name :getProjectName
  291 + * @author :lyh
  292 + * @method :post
  293 + * @time :2023/9/19 10:35
  294 + */
  295 + public function getProjectName($id){
  296 + $title = '';
  297 + if(!empty($id)){
  298 + $info = $this->read(['id'=>$id]);
  299 + if($info !== false){
  300 + $title = $info['title'];
  301 + }
  302 + }
  303 + return $title;
  304 + }
288 } 305 }
@@ -181,7 +181,7 @@ Route::middleware(['aloginauth'])->group(function () { @@ -181,7 +181,7 @@ Route::middleware(['aloginauth'])->group(function () {
181 Route::any('/log', [Aside\Project\RenewProjectController::class, 'renewLists'])->name('admin.renew_renewLists'); 181 Route::any('/log', [Aside\Project\RenewProjectController::class, 'renewLists'])->name('admin.renew_renewLists');
182 Route::any('/info', [Aside\Project\RenewProjectController::class, 'info'])->name('admin.renew_info'); 182 Route::any('/info', [Aside\Project\RenewProjectController::class, 'info'])->name('admin.renew_info');
183 Route::any('/notHaveRenewItems', [Aside\Project\RenewProjectController::class, 'notHaveRenewItems'])->name('admin.renew_notHaveRenewItems'); 183 Route::any('/notHaveRenewItems', [Aside\Project\RenewProjectController::class, 'notHaveRenewItems'])->name('admin.renew_notHaveRenewItems');
184 - 184 + Route::any('/editRenew', [Aside\Project\RenewProjectController::class, 'editRenew'])->name('admin.renew_editRenew');
185 }); 185 });
186 //工单管理 186 //工单管理
187 Route::prefix('task')->group(function () { 187 Route::prefix('task')->group(function () {