diff --git a/app/adminapi/controller/ProjectCommissionController.php b/app/adminapi/controller/ProjectCommissionController.php index 50a9b0fd4..df54906e9 100644 --- a/app/adminapi/controller/ProjectCommissionController.php +++ b/app/adminapi/controller/ProjectCommissionController.php @@ -86,8 +86,11 @@ class ProjectCommissionController extends BaseAdminController public function delete() { $params = (new ProjectCommissionValidate())->post()->goCheck('delete'); - ProjectCommissionLogic::delete($params); - return $this->success('删除成功', [], 1, 1); + $result = ProjectCommissionLogic::delete($params); + if (true === $result) { + return $this->success('删除成功', [], 1, 1); + } + return $this->fail(ProjectCommissionLogic::getError()); } diff --git a/app/adminapi/controller/cost_project/CostApprovedProjectController.php b/app/adminapi/controller/cost_project/CostApprovedProjectController.php index 3235a703b..964eea9c3 100644 --- a/app/adminapi/controller/cost_project/CostApprovedProjectController.php +++ b/app/adminapi/controller/cost_project/CostApprovedProjectController.php @@ -87,8 +87,11 @@ class CostApprovedProjectController extends BaseAdminController public function delete() { $params = (new CostApprovedProjectValidate())->post()->goCheck('delete'); - CostApprovedProjectLogic::delete($params); - return $this->success('删除成功', [], 1, 1); + $result = CostApprovedProjectLogic::delete($params); + if (true === $result) { + return $this->success('删除成功', [], 1, 1); + } + return $this->fail(CostApprovedProjectLogic::getError()); } diff --git a/app/adminapi/controller/cost_project/CostProjectController.php b/app/adminapi/controller/cost_project/CostProjectController.php index d74a81c1e..897aae0b9 100644 --- a/app/adminapi/controller/cost_project/CostProjectController.php +++ b/app/adminapi/controller/cost_project/CostProjectController.php @@ -86,8 +86,11 @@ class CostProjectController extends BaseAdminController public function delete() { $params = (new CostProjectValidate())->post()->goCheck('delete'); - CostProjectLogic::delete($params); - return $this->success('删除成功', [], 1, 1); + $result = CostProjectLogic::delete($params); + if (true === $result) { + return $this->success('删除成功', [], 1, 1); + } + return $this->fail(CostProjectLogic::getError()); } diff --git a/app/adminapi/controller/project_process_management/ProjectChangeVisaController.php b/app/adminapi/controller/project_process_management/ProjectChangeVisaController.php index b4e69871c..0fb3e11ea 100644 --- a/app/adminapi/controller/project_process_management/ProjectChangeVisaController.php +++ b/app/adminapi/controller/project_process_management/ProjectChangeVisaController.php @@ -86,8 +86,11 @@ class ProjectChangeVisaController extends BaseAdminController public function delete() { $params = (new ProjectChangeVisaValidate())->post()->goCheck('delete'); - ProjectChangeVisaLogic::delete($params); - return $this->success('删除成功', [], 1, 1); + $result = ProjectChangeVisaLogic::delete($params); + if (true === $result) { + return $this->success('删除成功', [], 1, 1); + } + return $this->fail(ProjectChangeVisaLogic::getError()); } diff --git a/app/adminapi/controller/project_process_management/ProjectProgressPaymentController.php b/app/adminapi/controller/project_process_management/ProjectProgressPaymentController.php index 0bff0a118..5511bfb04 100644 --- a/app/adminapi/controller/project_process_management/ProjectProgressPaymentController.php +++ b/app/adminapi/controller/project_process_management/ProjectProgressPaymentController.php @@ -86,8 +86,11 @@ class ProjectProgressPaymentController extends BaseAdminController public function delete() { $params = (new ProjectProgressPaymentValidate())->post()->goCheck('delete'); - ProjectProgressPaymentLogic::delete($params); - return $this->success('删除成功', [], 1, 1); + $result = ProjectProgressPaymentLogic::delete($params); + if (true === $result) { + return $this->success('删除成功', [], 1, 1); + } + return $this->fail(ProjectProgressPaymentLogic::getError()); } diff --git a/app/adminapi/controller/task/TaskAllocationController.php b/app/adminapi/controller/task/TaskAllocationController.php index 2acff1c29..e2b3a0032 100644 --- a/app/adminapi/controller/task/TaskAllocationController.php +++ b/app/adminapi/controller/task/TaskAllocationController.php @@ -86,8 +86,11 @@ class TaskAllocationController extends BaseAdminController public function delete() { $params = (new TaskAllocationValidate())->post()->goCheck('delete'); - TaskAllocationLogic::delete($params); - return $this->success('删除成功', [], 1, 1); + $result = TaskAllocationLogic::delete($params); + if (true === $result) { + return $this->success('删除成功', [], 1, 1); + } + return $this->fail(TaskAllocationLogic::getError()); } diff --git a/app/adminapi/controller/task/TaskTypeController.php b/app/adminapi/controller/task/TaskTypeController.php index beb9c348b..2fb737340 100644 --- a/app/adminapi/controller/task/TaskTypeController.php +++ b/app/adminapi/controller/task/TaskTypeController.php @@ -86,8 +86,11 @@ class TaskTypeController extends BaseAdminController public function delete() { $params = (new TaskTypeValidate())->post()->goCheck('delete'); - TaskTypeLogic::delete($params); - return $this->success('删除成功', [], 1, 1); + $result = TaskTypeLogic::delete($params); + if (true === $result) { + return $this->success('删除成功', [], 1, 1); + } + return $this->fail(TaskTypeLogic::getError()); } diff --git a/app/adminapi/logic/ProjectCommissionLogic.php b/app/adminapi/logic/ProjectCommissionLogic.php index 7e74eea2c..3d1bc8017 100644 --- a/app/adminapi/logic/ProjectCommissionLogic.php +++ b/app/adminapi/logic/ProjectCommissionLogic.php @@ -115,6 +115,11 @@ class ProjectCommissionLogic extends BaseLogic */ public static function delete(array $params): bool { + $detail = ProjectCommissionDetail::where('project_commission_id','in',$params['id'])->findOrEmpty(); + if(!$detail->isEmpty()){ + self::setError('此数据关联了提成明细信息,须删除提成明细信息'); + return false; + } return ProjectCommission::destroy($params['id']); } diff --git a/app/adminapi/logic/cost_project/CostApprovedProjectLogic.php b/app/adminapi/logic/cost_project/CostApprovedProjectLogic.php index 53a27e0ba..017c11cb6 100644 --- a/app/adminapi/logic/cost_project/CostApprovedProjectLogic.php +++ b/app/adminapi/logic/cost_project/CostApprovedProjectLogic.php @@ -3,6 +3,7 @@ namespace app\adminapi\logic\cost_project; use app\common\model\cost_project\CostApprovedProject; use app\common\logic\BaseLogic; +use app\common\model\cost_project\CostProject; use think\facade\Db; @@ -149,6 +150,11 @@ class CostApprovedProjectLogic extends BaseLogic */ public static function delete(array $params): bool { + $project = CostProject::where('contract_id','in',$params['id'])->findOrEmpty(); + if(!$project->isEmpty()){ + self::setError('此数据关联了造价项目信息,需删除造价项目信息'); + return false; + } return CostApprovedProject::destroy($params['id']); } diff --git a/app/adminapi/logic/cost_project/CostProjectLogic.php b/app/adminapi/logic/cost_project/CostProjectLogic.php index dee89d2fe..8a6bf1f12 100644 --- a/app/adminapi/logic/cost_project/CostProjectLogic.php +++ b/app/adminapi/logic/cost_project/CostProjectLogic.php @@ -15,10 +15,22 @@ namespace app\adminapi\logic\cost_project; +use app\common\model\ApprovalIssuanceAchievementDocuments; use app\common\model\cost_project\CostProject; use app\common\logic\BaseLogic; use app\common\model\auth\Admin; use app\common\model\cost_project\CostProjectPerson; +use app\common\model\DataReception; +use app\common\model\project_process_management\ApplyWithSeal; +use app\common\model\project_process_management\JianliProjectProgressReport; +use app\common\model\project_process_management\ProjectChangeVisa; +use app\common\model\project_process_management\ProjectProgressPayment; +use app\common\model\project_process_management\ProjectRectification; +use app\common\model\project_process_management\ProjectSurveySignature; +use app\common\model\ProjectCommission; +use app\common\model\task\TaskAllocation; +use app\common\model\task\TaskType; +use app\common\model\TaskHandlingThreeLevelReview; use think\facade\Db; @@ -142,6 +154,78 @@ class CostProjectLogic extends BaseLogic */ public static function delete(array $params): bool { + //任务类别 + $task_type = TaskType::where('cost_project_id','in',$params['id'])->findOrEmpty(); + if(!$task_type->isEmpty()){ + self::setError('此数据关联了任务类别信息,须删除任务类别信息'); + return false; + } + //任务分配 + $task_allocation = TaskAllocation::where('cost_project_id','in',$params['id'])->findOrEmpty(); + if(!$task_allocation->isEmpty()){ + self::setError('此数据关联了任务分配信息,须删除任务分配信息'); + return false; + } + //任务办理与三级审核 + $task_handling_three_level_review = TaskHandlingThreeLevelReview::where('project_id','in',$params['id'])->findOrEmpty(); + if(!$task_handling_three_level_review->isEmpty()){ + self::setError('此数据关联了任务办理与三级审核信息,须删除任务办理与三级审核信息'); + return false; + } + //成果文件审定、签发列表 + $approval_issuance_achievement_documents = ApprovalIssuanceAchievementDocuments::where('project_id','in',$params['id'])->findOrEmpty(); + if(!$approval_issuance_achievement_documents->isEmpty()){ + self::setError('此数据关联了成果文件审定签发信息,须删除成果文件审定签发信息'); + return false; + } + //资料接收 + $data_reception = DataReception::where('project_id','in',$params['id'])->findOrEmpty(); + if(!$data_reception->isEmpty()){ + self::setError('此数据关联了资料接收信息,须删除资料接收信息'); + return false; + } + //项目提成 + $project_commission = ProjectCommission::where('project_id','in',$params['id'])->findOrEmpty(); + if(!$project_commission->isEmpty()){ + self::setError('此数据关联了项目提成信息,须删除项目提成信息'); + return false; + } + //项目变更签证 + $project_change_visa = ProjectChangeVisa::where('project_id','in',$params['id'])->findOrEmpty(); + if(!$project_change_visa->isEmpty()){ + self::setError('此数据关联了项目变更签证信息,须删除项目变更签证信息'); + return false; + } + //项目踏勘会签 + $project_survey_signature = ProjectSurveySignature::where('project_id','in',$params['id'])->findOrEmpty(); + if(!$project_survey_signature->isEmpty()){ + self::setError('此数据关联了项目踏勘会签信息,须删除项目踏勘会签信息'); + return false; + } + //项目整改 + $project_rectification = ProjectRectification::where('project_id','in',$params['id'])->findOrEmpty(); + if(!$project_rectification->isEmpty()){ + self::setError('此数据关联了项目整改信息,须删除项目整改信息'); + return false; + } + //项目进度汇报 + $jianli_project_progress_report = JianliProjectProgressReport::where('project_id','in',$params['id'])->findOrEmpty(); + if(!$jianli_project_progress_report->isEmpty()){ + self::setError('此数据关联了项目进度汇报信息,须删除项目进度汇报信息'); + return false; + } + //项目进度款 + $project_progress_payment = ProjectProgressPayment::where('project_id','in',$params['id'])->findOrEmpty(); + if(!$project_progress_payment->isEmpty()){ + self::setError('此数据关联了项目进度款信息,须删除项目进度款信息'); + return false; + } + //用章申请 + $apply_with_seal = ApplyWithSeal::where('project_id','in',$params['id'])->findOrEmpty(); + if(!$apply_with_seal->isEmpty()){ + self::setError('此数据关联了用章申请信息,须删除用章申请信息'); + return false; + } return CostProject::destroy($params['id']); } diff --git a/app/adminapi/logic/project_process_management/ProjectChangeVisaContentLogic.php b/app/adminapi/logic/project_process_management/ProjectChangeVisaContentLogic.php index 158900b51..441d6bf98 100644 --- a/app/adminapi/logic/project_process_management/ProjectChangeVisaContentLogic.php +++ b/app/adminapi/logic/project_process_management/ProjectChangeVisaContentLogic.php @@ -78,7 +78,6 @@ class ProjectChangeVisaContentLogic extends BaseLogic Db::startTrans(); try { ProjectChangeVisaContent::where('id', $params['id'])->update([ - 'project_change_visa_dataid' => $params['project_change_visa_dataid'], 'directory' => $params['directory'], 'unit_name' => $params['unit_name'], 'time' => $params['time'], diff --git a/app/adminapi/logic/project_process_management/ProjectChangeVisaLogic.php b/app/adminapi/logic/project_process_management/ProjectChangeVisaLogic.php index b59adf4e7..195cdcabc 100644 --- a/app/adminapi/logic/project_process_management/ProjectChangeVisaLogic.php +++ b/app/adminapi/logic/project_process_management/ProjectChangeVisaLogic.php @@ -98,6 +98,11 @@ class ProjectChangeVisaLogic extends BaseLogic */ public static function delete(array $params): bool { + $data = ProjectChangeVisaContent::where('project_change_visa_id','in',$params['id'])->findOrEmpty(); + if(!$data->isEmpty()){ + self::setError('此数据关联了项目变更签证明细信息,须删除项目变更签证明细信息'); + return false; + } return ProjectChangeVisa::destroy($params['id']); } diff --git a/app/adminapi/logic/project_process_management/ProjectProgressPaymentLogic.php b/app/adminapi/logic/project_process_management/ProjectProgressPaymentLogic.php index 4900bf5fe..170282499 100644 --- a/app/adminapi/logic/project_process_management/ProjectProgressPaymentLogic.php +++ b/app/adminapi/logic/project_process_management/ProjectProgressPaymentLogic.php @@ -106,6 +106,11 @@ class ProjectProgressPaymentLogic extends BaseLogic */ public static function delete(array $params): bool { + $detail = ProjectProgressPaymentDetail::where('project_progress_payment_id','in',$params['id'])->findOrEmpty(); + if(!$detail->isEmpty()){ + self::setError('此数据关联了项目进度款明细信息,须删除项目进度款明细信息'); + return false; + } return ProjectProgressPayment::destroy($params['id']); } diff --git a/app/adminapi/logic/task/TaskAllocationLogic.php b/app/adminapi/logic/task/TaskAllocationLogic.php index 1f9b21a9d..de29e03e2 100644 --- a/app/adminapi/logic/task/TaskAllocationLogic.php +++ b/app/adminapi/logic/task/TaskAllocationLogic.php @@ -120,6 +120,11 @@ class TaskAllocationLogic extends BaseLogic */ public static function delete(array $params): bool { + $task_detail = TaskDetail::where('task_allocation_id','in',$params['id'])->findOrEmpty(); + if(!$task_detail->isEmpty()){ + self::setError('此数据关联了任务明细信息,须删除任务明细信息'); + return false; + } return TaskAllocation::destroy($params['id']); } diff --git a/app/adminapi/logic/task/TaskTypeLogic.php b/app/adminapi/logic/task/TaskTypeLogic.php index c3a78fabc..7a22d587f 100644 --- a/app/adminapi/logic/task/TaskTypeLogic.php +++ b/app/adminapi/logic/task/TaskTypeLogic.php @@ -17,6 +17,7 @@ namespace app\adminapi\logic\task; use app\common\model\task\TaskType; use app\common\logic\BaseLogic; +use app\common\model\TaskDetail; use think\facade\Db; @@ -100,6 +101,11 @@ class TaskTypeLogic extends BaseLogic */ public static function delete(array $params): bool { + $task_detail = TaskDetail::where('task_type_id','in',$params['id'])->findOrEmpty(); + if(!$task_detail->isEmpty()){ + self::setError('此数据关联了任务明细信息,须删除任务明细信息'); + return false; + } return TaskType::destroy($params['id']); } diff --git a/app/adminapi/validate/cost_project/CostApprovedProjectValidate.php b/app/adminapi/validate/cost_project/CostApprovedProjectValidate.php index 4fdb46511..d74cd3248 100644 --- a/app/adminapi/validate/cost_project/CostApprovedProjectValidate.php +++ b/app/adminapi/validate/cost_project/CostApprovedProjectValidate.php @@ -127,7 +127,7 @@ class CostApprovedProjectValidate extends BaseValidate */ public function sceneDelete() { - return $this->only(['id']); + return $this->only(['id'])->remove('id','checkData'); }