|
@@ -8,6 +8,7 @@ use App\Http\Requests\API\Folder\UpdateRequest;
|
|
use App\Http\Resources\API\FileByObjectResource;
|
|
use App\Http\Resources\API\FileByObjectResource;
|
|
use App\Http\Resources\API\FileVersioTreeByObjectResource;
|
|
use App\Http\Resources\API\FileVersioTreeByObjectResource;
|
|
use App\Http\Resources\API\FolderDetailResource;
|
|
use App\Http\Resources\API\FolderDetailResource;
|
|
|
|
+use App\Http\Resources\API\UserProfileResource;
|
|
use App\Models\Enums\FolderObjectType;
|
|
use App\Models\Enums\FolderObjectType;
|
|
use App\Models\Enums\ObjectApprovalStatus;
|
|
use App\Models\Enums\ObjectApprovalStatus;
|
|
use App\Models\File;
|
|
use App\Models\File;
|
|
@@ -21,6 +22,7 @@ use Illuminate\Database\Eloquent\Collection;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
+use function Symfony\Component\String\s;
|
|
|
|
|
|
class FolderController extends Controller
|
|
class FolderController extends Controller
|
|
{
|
|
{
|
|
@@ -276,7 +278,6 @@ class FolderController extends Controller
|
|
$folders = Folder::with(["namingRule" => function ($query) {
|
|
$folders = Folder::with(["namingRule" => function ($query) {
|
|
$query->select(['id', 'name', 'combination_rules']);
|
|
$query->select(['id', 'name', 'combination_rules']);
|
|
}])
|
|
}])
|
|
- ->select(['id', 'name', 'naming_rule_id', 'created_by', 'updated_by', 'created_at', 'updated_at'])
|
|
|
|
->where($objectWhere)
|
|
->where($objectWhere)
|
|
->when($name, fn($query) => $query->where("name", "like", "%$name%"))
|
|
->when($name, fn($query) => $query->where("name", "like", "%$name%"))
|
|
->when($folderId, fn($query) => $query->where("parent_id", $folderId))
|
|
->when($folderId, fn($query) => $query->where("parent_id", $folderId))
|
|
@@ -285,27 +286,9 @@ class FolderController extends Controller
|
|
->orderBy(in_array($orderByFiled, Folder::getColumns()) ? $orderByFiled : 'updated_at', $orderByType)
|
|
->orderBy(in_array($orderByFiled, Folder::getColumns()) ? $orderByFiled : 'updated_at', $orderByType)
|
|
->paginate($pageSize);
|
|
->paginate($pageSize);
|
|
$folders_total = $folders->total();
|
|
$folders_total = $folders->total();
|
|
- $sonFolderCount=Folder::query()
|
|
|
|
- ->where($objectWhere)
|
|
|
|
- ->whereIn('parent_id',$folders->pluck('id'))
|
|
|
|
- ->selectRaw("count(*) as cut, parent_id")
|
|
|
|
- ->groupBy("parent_id")
|
|
|
|
- ->pluck("cut", "parent_id");
|
|
|
|
-
|
|
|
|
- $sonFileCount=File::query()
|
|
|
|
- ->where($objectWhere)
|
|
|
|
- ->whereIn('folder_id',$folders->pluck('id'))
|
|
|
|
- ->where("is_latest_version", 1)
|
|
|
|
- ->selectRaw("count(*) as cut, folder_id")
|
|
|
|
- ->groupBy("folder_id")
|
|
|
|
- ->pluck("cut", "folder_id");
|
|
|
|
-
|
|
|
|
|
|
|
|
$index=1;
|
|
$index=1;
|
|
- $folders = $folders->map(function (Folder $folder) use ($sonFolderCount,$sonFileCount,&$index) {
|
|
|
|
- $folder->itemCount =$sonFolderCount->get($folder->id, 0)+$sonFileCount->get($folder->id, 0);
|
|
|
|
- $folder->type = 'folder';
|
|
|
|
- $folder->uniId = $folder->type . '_' . $folder->id;
|
|
|
|
|
|
+ $folders = $folders->map(function (Folder $folder) use (&$index) {
|
|
$folder->display_id=(string)$index++;
|
|
$folder->display_id=(string)$index++;
|
|
return $folder;
|
|
return $folder;
|
|
});
|
|
});
|
|
@@ -366,7 +349,7 @@ class FolderController extends Controller
|
|
return $this->success([
|
|
return $this->success([
|
|
'object'=>$container,
|
|
'object'=>$container,
|
|
'data' => [
|
|
'data' => [
|
|
- 'folders' => $folders,
|
|
|
|
|
|
+ 'folders' => FolderDetailResource::collection($folders),
|
|
'total' => $folders_total + $files_total,
|
|
'total' => $folders_total + $files_total,
|
|
'files' => FileByObjectResource::collection($files),
|
|
'files' => FileByObjectResource::collection($files),
|
|
'folder_parent_id'=>$folderId>0?$folder->parent_id:$folderId,
|
|
'folder_parent_id'=>$folderId>0?$folder->parent_id:$folderId,
|