12345678910111213141516171819202122232425262728293031323334353637 |
- <?php
- namespace App\Http\Requests;
- use App\Models\ApprovalFlow;
- use App\Models\Asset;
- use App\Models\AssetGroup;
- use App\Models\Department;
- use App\Models\Enums\DisplayIndexObjectType;
- use App\Models\NamingRule;
- use App\Models\Plan;
- use App\Models\Project;
- use App\Models\Requirement;
- use App\Models\RequirementGroup;
- use App\Models\Task;
- use App\Models\User;
- trait IndexHelper
- {
- public static function getObjectMaxIndex(DisplayIndexObjectType $type,string $object_id=null):int{
- $result= match ($type) {
- DisplayIndexObjectType::ASSET => Asset::max('display_id'),
- DisplayIndexObjectType::ASSETGROUP => AssetGroup::max('display_id'),
- DisplayIndexObjectType::PLAN=>Plan::max('display_id'),
- DisplayIndexObjectType::REQUIREMENTGROUP=>RequirementGroup::max('display_id'),
- DisplayIndexObjectType::PROJECT => Project::max('display_id'),
- DisplayIndexObjectType::REQUIREMENT=>Requirement::max('display_id'),
- DisplayIndexObjectType::TASK=>Task::query()->where('project_id',$object_id)->max('display_id'),
- DisplayIndexObjectType::DEPARTMENT=>Department::max('display_id'),
- DisplayIndexObjectType::APPROVALFLOW=>ApprovalFlow::max('display_id'),
- DisplayIndexObjectType::NAMERULE=>NamingRule::query()->where('company_id',$object_id)->max('display_id'),
- };
- return $result >0? $result+1 :1;
- }
- }
|