|
@@ -25,12 +25,15 @@ use App\Models\Enums\ObjectAction;
|
|
|
use App\Models\Enums\ObjectApprovalStatus;
|
|
|
use App\Models\File;
|
|
|
use App\Models\Folder;
|
|
|
+use App\Models\Scopes\CompanyScope;
|
|
|
use App\Repositories\ActionRepository;
|
|
|
+use App\Repositories\ApprovalRepository;
|
|
|
use App\Services\Approval\ActionService;
|
|
|
use App\Services\Approval\StoreService;
|
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
+use function Symfony\Component\Translation\t;
|
|
|
|
|
|
class ApprovalController extends Controller
|
|
|
{
|
|
@@ -84,7 +87,7 @@ class ApprovalController extends Controller
|
|
|
$approvalObjectType = ApprovalObjectType::from($approval->object_type);
|
|
|
$object = $approvalObjectType
|
|
|
->modelBuilder()
|
|
|
- ->find($approval->object_id);
|
|
|
+ ->findOrFail($approval->object_id);
|
|
|
|
|
|
$actions = Action::with(['createdBy', 'file'])->where([
|
|
|
'object_type' => $approvalObjectType->actionObjectType(),
|
|
@@ -138,6 +141,40 @@ class ApprovalController extends Controller
|
|
|
return $this->noContent();
|
|
|
}
|
|
|
|
|
|
+ public function detail(Request $request)
|
|
|
+ {
|
|
|
+ //判断是否已经有审批
|
|
|
+ $approvalList = Approval::query()
|
|
|
+ ->withoutGlobalScope(CompanyScope::class)
|
|
|
+ ->where('object_type', $request->get('object_type'))
|
|
|
+ ->where('object_id', $request->get('object_id'))
|
|
|
+ ->get();
|
|
|
+ $approval = '';
|
|
|
+ foreach ($approvalList as $item) {
|
|
|
+ if (in_array($request->get('file_id'),$item->sub_object_ids)){
|
|
|
+ $approval = $item;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //Get total approvalFlow
|
|
|
+ if ($approval) {
|
|
|
+ $approvalFlow = ApprovalFlow::query()->withoutGlobalScope(CompanyScope::class)->find($approval->approval_flow_id);
|
|
|
+ }else{
|
|
|
+ return $this->success([
|
|
|
+ 'data' => [],
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取审批时间
|
|
|
+ $action = Action::with(['createdBy', 'file'])->where([
|
|
|
+ 'object_type' => $request->get('object_type'),
|
|
|
+ 'object_id' => $request->get('object_id'),
|
|
|
+ 'additional_id' => $approval->id,
|
|
|
+ ])->orderBy("created_at")->get();
|
|
|
+
|
|
|
+ return $this->success([
|
|
|
+ 'data' => ApprovalRepository::approvalDetail($approvalFlow,ActionByApprovalLogResource::collection($action)),
|
|
|
+ ]);
|
|
|
+ }
|
|
|
/**
|
|
|
* Update the specified resource in storage.
|
|
|
*/
|