|
@@ -408,29 +408,47 @@ class FolderController extends Controller
|
|
|
$objectType = $request->get("object_type");
|
|
|
$objectId = $request->get("object_id");
|
|
|
$name=$request->get('name');
|
|
|
+ $docStages = $request->get('doc_stage', []); // 支持多选
|
|
|
+ $docTypes = $request->get('doc_type', []); // 支持多选
|
|
|
+ $namingRuleIds = $request->get('naming_rule_id', []); // 支持多选
|
|
|
|
|
|
$folderObjectType = FolderObjectType::from($objectType);
|
|
|
|
|
|
$folderObjectType->modelBuilderAllowed()->findOrFail($objectId);
|
|
|
|
|
|
- $objectWhere = ['object_type' => $objectType, 'object_id' => $objectId,];
|
|
|
+ $objectWhere = ['object_type' => $objectType, 'object_id' => $objectId];
|
|
|
|
|
|
$folders = Folder::query()
|
|
|
->where($objectWhere)
|
|
|
->where('name','like',"%$name%")
|
|
|
->get();
|
|
|
|
|
|
- $newFolders=$folders?$service->folderFormat($folders):[];
|
|
|
+ $newFolders = $folders ? $service->folderFormat($folders) : [];
|
|
|
|
|
|
- $file=File::query()
|
|
|
+ $fileQuery = File::query()
|
|
|
->with('bimFile')
|
|
|
->where($objectWhere)
|
|
|
->where('title','like',"%$name%")
|
|
|
- ->where("is_latest_version", 1)
|
|
|
- ->get();
|
|
|
- $folderCount=count($newFolders)+1;
|
|
|
- $newFiles=$file?$service->filesFormat($file,$folderCount):[];
|
|
|
+ ->where("is_latest_version", 1);
|
|
|
+
|
|
|
+ // 添加doc_stage多选过滤
|
|
|
+ if (!empty($docStages)) {
|
|
|
+ $fileQuery->whereIn('doc_stage', $docStages);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加doc_type多选过滤
|
|
|
+ if (!empty($docTypes)) {
|
|
|
+ $fileQuery->whereIn('doc_type', $docTypes);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加naming_rule_id多选过滤
|
|
|
+ if (!empty($namingRuleIds)) {
|
|
|
+ $fileQuery->whereIn('naming_rule_id', $namingRuleIds);
|
|
|
+ }
|
|
|
|
|
|
+ $file = $fileQuery->get();
|
|
|
+ $folderCount = count($newFolders) + 1;
|
|
|
+ $newFiles = $file ? $service->filesFormat($file, $folderCount) : [];
|
|
|
|
|
|
return $this->success([
|
|
|
'data' => [
|