ProjectScheduleService.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace app\common\service;
  3. use app\common\model\ProjectSchedule;
  4. class ProjectScheduleService extends Service
  5. {
  6. public function create($param = [])
  7. {
  8. $param = $this->autoParams($param);
  9. return ProjectSchedule::create($param);
  10. }
  11. public function update($param = [])
  12. {
  13. $param = $this->autoParams($param);
  14. $newStatus = $this->pg('status');
  15. $goingStatus = $this->pg('going_project_status');
  16. $finishStatus = $this->pg('finish_project_status');
  17. $projectNewStatus = '';
  18. $schedule = $this->one(ProjectSchedule::class);
  19. // 是否更新项目状态值
  20. if ($schedule->is_update_project_status) {
  21. if ($schedule->status == ProjectSchedule::STATUS_NOT_START) {
  22. if ($newStatus == ProjectSchedule::STATUS_GOING) {
  23. $projectNewStatus = $goingStatus;
  24. } elseif ($newStatus == ProjectSchedule::STATUS_FINISH) {
  25. $projectNewStatus = $finishStatus;
  26. }
  27. } elseif($schedule->status == ProjectSchedule::STATUS_GOING && $newStatus == ProjectSchedule::STATUS_FINISH) {
  28. $projectNewStatus = $finishStatus;
  29. }
  30. }
  31. // 跳过、没有对应值、不更新项目状态值的projectNewStatus都是空,跳过
  32. if ($projectNewStatus) {
  33. $project = $schedule->project;
  34. $project->status = $projectNewStatus;
  35. $project->save();
  36. }
  37. return ProjectSchedule::update($param);
  38. }
  39. public function delete($param = [])
  40. {
  41. $param = $this->autoParams($param);
  42. $schedule = $this->one(ProjectSchedule::class);
  43. return $schedule->delete();
  44. }
  45. }