diff --git a/app/adminapi/lists/supervision_prepare/SupervisionPlanningLists.php b/app/adminapi/lists/supervision_prepare/SupervisionPlanningLists.php index 87f936af2..9ed6c5d0d 100644 --- a/app/adminapi/lists/supervision_prepare/SupervisionPlanningLists.php +++ b/app/adminapi/lists/supervision_prepare/SupervisionPlanningLists.php @@ -11,73 +11,76 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\supervision_prepare; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\model\supervision_prepare\SupervisionPlanning; -use app\common\lists\ListsSearchInterface; -use app\common\model\supervision_project\SupervisionProject; - - -/** - * 工程监理--监理规划列表 - * Class SupervisionPlanningLists - * @package app\adminapi\listssupervision_prepare - */ -class SupervisionPlanningLists extends BaseAdminDataLists implements ListsSearchInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/02/23 16:45 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id', 'approval_type'], - '%like%' => ['approval_user', 'scheme_name', 'create_user'], - ]; - } - - - /** - * @notes 获取工程监理--监理规划列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/02/23 16:45 - */ - public function lists(): array - { - return SupervisionPlanning::withoutField('update_time,delete_time')->where($this->searchWhere) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $project = SupervisionProject::field('project_name,project_manager')->where('id',$data['project_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['project_manager'] = $project['project_manager']; - $data['approval_type_text'] = $data->approval_type_text; - }) - ->toArray(); - } - - - /** - * @notes 获取工程监理--监理规划数量 - * @return int - * @author likeadmin - * @date 2024/02/23 16:45 - */ - public function count(): int - { - return SupervisionPlanning::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + + namespace app\adminapi\lists\supervision_prepare; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\supervision_prepare\SupervisionPlanning; + use app\common\model\supervision_project\SupervisionProject; + + + /** + * 工程监理--监理规划列表 + * Class SupervisionPlanningLists + * @package app\adminapi\listssupervision_prepare + */ + class SupervisionPlanningLists extends BaseAdminDataLists implements ListsSearchInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/02/23 16:45 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id', 'approval_type'], + '%like%' => ['approval_user', 'scheme_name', 'create_user'], + ]; + } + + + /** + * @notes 获取工程监理--监理规划列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/02/23 16:45 + */ + public function lists(): array + { + return SupervisionPlanning::withoutField('update_time,delete_time')->where($this->searchWhere) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $project = SupervisionProject::field('project_name,project_manager')->where('id', $data['project_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['approval_user'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['project_manager'] = $project['project_manager']; + $data['approval_type_text'] = $data->approval_type_text; + $data['approval_user_name'] = $admin?->name; + }) + ->toArray(); + } + + + /** + * @notes 获取工程监理--监理规划数量 + * @return int + * @author likeadmin + * @date 2024/02/23 16:45 + */ + public function count(): int + { + return SupervisionPlanning::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_work/SupervisionDeviceEntryLists.php b/app/adminapi/lists/supervision_work/SupervisionDeviceEntryLists.php index 922dd51c7..6b56c7fe0 100644 --- a/app/adminapi/lists/supervision_work/SupervisionDeviceEntryLists.php +++ b/app/adminapi/lists/supervision_work/SupervisionDeviceEntryLists.php @@ -11,78 +11,81 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\supervision_work; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionDeviceEntry; -use app\common\lists\ListsSearchInterface; -use app\common\model\supervision_work\SupervisionProblem; - - -/** - * 工程监理--设备进场列表 - * Class SupervisionDeviceEntryLists - * @package app\adminapi\listssupervision_work - */ -class SupervisionDeviceEntryLists extends BaseAdminDataLists implements ListsSearchInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/02/28 16:12 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id', 'enter_result'], - '%like%' => ['code'], - ]; - } - - - /** - * @notes 获取工程监理--设备进场列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/02/28 16:12 - */ - public function lists(): array - { - return SupervisionDeviceEntry::withoutField('update_time,delete_time')->where($this->searchWhere) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - $data['enter_result_text'] = $data->enter_result_text; - $data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',4)->count(); - $data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',4)->where('is_rectification',1)->count(); - }) - ->toArray(); - } - - - /** - * @notes 获取工程监理--设备进场数量 - * @return int - * @author likeadmin - * @date 2024/02/28 16:12 - */ - public function count(): int - { - return SupervisionDeviceEntry::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + + namespace app\adminapi\lists\supervision_work; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionDeviceEntry; + use app\common\model\supervision_work\SupervisionProblem; + + + /** + * 工程监理--设备进场列表 + * Class SupervisionDeviceEntryLists + * @package app\adminapi\listssupervision_work + */ + class SupervisionDeviceEntryLists extends BaseAdminDataLists implements ListsSearchInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/02/28 16:12 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id', 'enter_result'], + '%like%' => ['code'], + ]; + } + + + /** + * @notes 获取工程监理--设备进场列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/02/28 16:12 + */ + public function lists(): array + { + return SupervisionDeviceEntry::withoutField('update_time,delete_time')->where($this->searchWhere) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['co_participant'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['enter_result_text'] = $data->enter_result_text; + $data['co_participant_name'] = $admin?->name; + $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 4)->count(); + $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 4)->where('is_rectification', 1)->count(); + }) + ->toArray(); + } + + + /** + * @notes 获取工程监理--设备进场数量 + * @return int + * @author likeadmin + * @date 2024/02/28 16:12 + */ + public function count(): int + { + return SupervisionDeviceEntry::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_work/SupervisionDiaryLists.php b/app/adminapi/lists/supervision_work/SupervisionDiaryLists.php index edd1ac4a0..896c861ab 100644 --- a/app/adminapi/lists/supervision_work/SupervisionDiaryLists.php +++ b/app/adminapi/lists/supervision_work/SupervisionDiaryLists.php @@ -11,71 +11,75 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\supervision_work; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionDiary; -use app\common\lists\ListsSearchInterface; - - -/** - * 工程监理--监理日记列表 - * Class SupervisionDiaryLists - * @package app\adminapi\listssupervision_work - */ -class SupervisionDiaryLists extends BaseAdminDataLists implements ListsSearchInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/03/01 13:53 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id'], - '%like%' => ['user', 'director'], - ]; - } - - - /** - * @notes 获取工程监理--监理日记列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/03/01 13:53 - */ - public function lists(): array - { - return SupervisionDiary::withoutField('create_time,update_time,delete_time')->where($this->searchWhere) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - }) - ->toArray(); - } - - - /** - * @notes 获取工程监理--监理日记数量 - * @return int - * @author likeadmin - * @date 2024/03/01 13:53 - */ - public function count(): int - { - return SupervisionDiary::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + + namespace app\adminapi\lists\supervision_work; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionDiary; + + + /** + * 工程监理--监理日记列表 + * Class SupervisionDiaryLists + * @package app\adminapi\listssupervision_work + */ + class SupervisionDiaryLists extends BaseAdminDataLists implements ListsSearchInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/03/01 13:53 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id'], + '%like%' => ['user', 'director'], + ]; + } + + + /** + * @notes 获取工程监理--监理日记列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/03/01 13:53 + */ + public function lists(): array + { + return SupervisionDiary::withoutField('create_time,update_time,delete_time')->where($this->searchWhere) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $admin = Admin::where('id', 'in', [$data['user'], $data['director']])->column('name', 'id'); + $data['project_name'] = $project['project_name']; + $data['user_name'] = $admin[$data['user']] ?? ''; + $data['director_name'] = $admin[$data['director']] ?? ''; + }) + ->toArray(); + } + + + /** + * @notes 获取工程监理--监理日记数量 + * @return int + * @author likeadmin + * @date 2024/03/01 13:53 + */ + public function count(): int + { + return SupervisionDiary::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_work/SupervisionInspectionLists.php b/app/adminapi/lists/supervision_work/SupervisionInspectionLists.php index 33cb9199f..6e2d76858 100644 --- a/app/adminapi/lists/supervision_work/SupervisionInspectionLists.php +++ b/app/adminapi/lists/supervision_work/SupervisionInspectionLists.php @@ -11,84 +11,87 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\supervision_work; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionCheckItem; -use app\common\model\supervision_work\SupervisionInspection; -use app\common\lists\ListsSearchInterface; -use app\common\model\supervision_work\SupervisionProblem; - - -/** - * 工程监理--巡视登记列表 - * Class SupervisionInspectionLists - * @package app\adminapi\listssupervision_work - */ -class SupervisionInspectionLists extends BaseAdminDataLists implements ListsSearchInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/02/26 17:18 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id', 'inspection_type'], - '%like%' => ['inspection_code'], - ]; - } - - - /** - * @notes 获取工程监理--巡视登记列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/02/26 17:18 - */ - public function lists(): array - { - return SupervisionInspection::withoutField('update_time,delete_time')->where($this->searchWhere) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $check_item_detail = SupervisionCheckItem::where('id','in',$data['check_item_detail_ids'])->column('node_name'); - $data['project_name'] = $project['project_name']; - $data['check_item_name'] = $check_item['node_name']; - $data['company_name'] = $company['unit_name']; - $data['check_item_detail_name'] = implode(',',$check_item_detail); - $data['inspection_type_text'] = $data->inspection_type_text; - $data['is_important_text'] = $data->is_important_text; - $data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',1)->count(); - $data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',1)->where('is_rectification',1)->count(); - }) - ->toArray(); - } - - - /** - * @notes 获取工程监理--巡视登记数量 - * @return int - * @author likeadmin - * @date 2024/02/26 17:18 - */ - public function count(): int - { - return SupervisionInspection::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + + namespace app\adminapi\lists\supervision_work; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionCheckItem; + use app\common\model\supervision_work\SupervisionInspection; + use app\common\model\supervision_work\SupervisionProblem; + + + /** + * 工程监理--巡视登记列表 + * Class SupervisionInspectionLists + * @package app\adminapi\listssupervision_work + */ + class SupervisionInspectionLists extends BaseAdminDataLists implements ListsSearchInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/02/26 17:18 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id', 'inspection_type'], + '%like%' => ['inspection_code'], + ]; + } + + + /** + * @notes 获取工程监理--巡视登记列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/02/26 17:18 + */ + public function lists(): array + { + return SupervisionInspection::withoutField('update_time,delete_time')->where($this->searchWhere) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $check_item = SupervisionCheckItem::field('node_name')->where('id', $data['check_item_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $check_item_detail = SupervisionCheckItem::where('id', 'in', $data['check_item_detail_ids'])->column('node_name'); + $admin = Admin::where('id', 'in', [$data['inspection_user'], $data['follow_user']])->column('name', 'id'); + $data['project_name'] = $project['project_name']; + $data['check_item_name'] = $check_item['node_name']; + $data['company_name'] = $company['unit_name']; + $data['check_item_detail_name'] = implode(',', $check_item_detail); + $data['inspection_type_text'] = $data->inspection_type_text; + $data['is_important_text'] = $data->is_important_text; + $data['follow_user_name'] = $admin[$data['follow_user']] ?? ''; + $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 1)->count(); + $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 1)->where('is_rectification', 1)->count(); + }) + ->toArray(); + } + + + /** + * @notes 获取工程监理--巡视登记数量 + * @return int + * @author likeadmin + * @date 2024/02/26 17:18 + */ + public function count(): int + { + return SupervisionInspection::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_work/SupervisionMaterialEntryLists.php b/app/adminapi/lists/supervision_work/SupervisionMaterialEntryLists.php index 414cb62fd..a338bd240 100644 --- a/app/adminapi/lists/supervision_work/SupervisionMaterialEntryLists.php +++ b/app/adminapi/lists/supervision_work/SupervisionMaterialEntryLists.php @@ -11,77 +11,79 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\supervision_work; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionMaterialEntry; -use app\common\lists\ListsSearchInterface; -use app\common\model\supervision_work\SupervisionMaterialEntryDetail; - - -/** - * 材料进场列表 - * Class SupervisionMaterialEntryLists - * @package app\adminapi\listssupervision_work - */ -class SupervisionMaterialEntryLists extends BaseAdminDataLists implements ListsSearchInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/02/28 13:41 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id','enter_result','parallel_test'], - '%like%' => ['theme', 'code'], - ]; - } - - - /** - * @notes 获取材料进场列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/02/28 13:41 - */ - public function lists(): array - { - return SupervisionMaterialEntry::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - $data['enter_result_text'] = $data->enter_result_text; - $data['parallel_test_text'] = $data->parallel_test_text; - }) - ->toArray(); - } - - - /** - * @notes 获取材料进场数量 - * @return int - * @author likeadmin - * @date 2024/02/28 13:41 - */ - public function count(): int - { - return SupervisionMaterialEntry::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + + namespace app\adminapi\lists\supervision_work; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionMaterialEntry; + + + /** + * 材料进场列表 + * Class SupervisionMaterialEntryLists + * @package app\adminapi\listssupervision_work + */ + class SupervisionMaterialEntryLists extends BaseAdminDataLists implements ListsSearchInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/02/28 13:41 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id', 'enter_result', 'parallel_test'], + '%like%' => ['theme', 'code'], + ]; + } + + + /** + * @notes 获取材料进场列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/02/28 13:41 + */ + public function lists(): array + { + return SupervisionMaterialEntry::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['co_participant'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['enter_result_text'] = $data->enter_result_text; + $data['parallel_test_text'] = $data->parallel_test_text; + $data['co_participant_name'] = $admin?->name; + }) + ->toArray(); + } + + + /** + * @notes 获取材料进场数量 + * @return int + * @author likeadmin + * @date 2024/02/28 13:41 + */ + public function count(): int + { + return SupervisionMaterialEntry::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_work/SupervisionMaterialParallelTestingLists.php b/app/adminapi/lists/supervision_work/SupervisionMaterialParallelTestingLists.php index 208f5b083..3d6a58ae5 100644 --- a/app/adminapi/lists/supervision_work/SupervisionMaterialParallelTestingLists.php +++ b/app/adminapi/lists/supervision_work/SupervisionMaterialParallelTestingLists.php @@ -11,79 +11,82 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\supervision_work; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionMaterialEntry; -use app\common\model\supervision_work\SupervisionMaterialParallelTesting; -use app\common\lists\ListsSearchInterface; - - -/** - * 工程监理--材料平行检验列表 - * Class SupervisionMaterialParallelTestingLists - * @package app\adminapi\listssupervision_work - */ -class SupervisionMaterialParallelTestingLists extends BaseAdminDataLists implements ListsSearchInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/02/29 15:00 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id', 'material_entry_id'], - '%like%' => ['code', 'inspector'], - ]; - } - - - /** - * @notes 获取工程监理--材料平行检验列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/02/29 15:00 - */ - public function lists(): array - { - return SupervisionMaterialParallelTesting::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $material_entry = SupervisionMaterialEntry::field('code,theme,company_id,enter_time')->where('id',$data['material_entry_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$material_entry['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - $data['material_entry_code'] = $material_entry['code']; - $data['theme'] = $material_entry['theme']; - $data['enter_time'] = $material_entry['enter_time']; - }) - ->toArray(); - } - - - /** - * @notes 获取工程监理--材料平行检验数量 - * @return int - * @author likeadmin - * @date 2024/02/29 15:00 - */ - public function count(): int - { - return SupervisionMaterialParallelTesting::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + + namespace app\adminapi\lists\supervision_work; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionMaterialEntry; + use app\common\model\supervision_work\SupervisionMaterialParallelTesting; + + + /** + * 工程监理--材料平行检验列表 + * Class SupervisionMaterialParallelTestingLists + * @package app\adminapi\listssupervision_work + */ + class SupervisionMaterialParallelTestingLists extends BaseAdminDataLists implements ListsSearchInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/02/29 15:00 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id', 'material_entry_id'], + '%like%' => ['code', 'inspector'], + ]; + } + + + /** + * @notes 获取工程监理--材料平行检验列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/02/29 15:00 + */ + public function lists(): array + { + return SupervisionMaterialParallelTesting::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $material_entry = SupervisionMaterialEntry::field('code,theme,company_id,enter_time')->where('id', $data['material_entry_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $material_entry['company_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['inspector'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['material_entry_code'] = $material_entry['code']; + $data['theme'] = $material_entry['theme']; + $data['enter_time'] = $material_entry['enter_time']; + $data['inspector_name'] = $admin?->name; + }) + ->toArray(); + } + + + /** + * @notes 获取工程监理--材料平行检验数量 + * @return int + * @author likeadmin + * @date 2024/02/29 15:00 + */ + public function count(): int + { + return SupervisionMaterialParallelTesting::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_work/SupervisionNoticeLists.php b/app/adminapi/lists/supervision_work/SupervisionNoticeLists.php index bf6cb8d8c..7b260a955 100644 --- a/app/adminapi/lists/supervision_work/SupervisionNoticeLists.php +++ b/app/adminapi/lists/supervision_work/SupervisionNoticeLists.php @@ -11,74 +11,78 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\supervision_work; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionNotice; -use app\common\lists\ListsSearchInterface; - - -/** - * 工程监理--监理通知单列表 - * Class SupervisionNoticeLists - * @package app\adminapi\listssupervision_work - */ -class SupervisionNoticeLists extends BaseAdminDataLists implements ListsSearchInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/03/01 09:20 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id'], - '%like%' => ['code', 'notify_user'], - ]; - } - - - /** - * @notes 获取工程监理--监理通知单列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/03/01 09:20 - */ - public function lists(): array - { - return SupervisionNotice::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - }) - ->toArray(); - } - - - /** - * @notes 获取工程监理--监理通知单数量 - * @return int - * @author likeadmin - * @date 2024/03/01 09:20 - */ - public function count(): int - { - return SupervisionNotice::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + + namespace app\adminapi\lists\supervision_work; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionNotice; + + + /** + * 工程监理--监理通知单列表 + * Class SupervisionNoticeLists + * @package app\adminapi\listssupervision_work + */ + class SupervisionNoticeLists extends BaseAdminDataLists implements ListsSearchInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/03/01 09:20 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id'], + '%like%' => ['code', 'notify_user'], + ]; + } + + + /** + * @notes 获取工程监理--监理通知单列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/03/01 09:20 + */ + public function lists(): array + { + return SupervisionNotice::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $admin = Admin::where('id', 'in', [$data['notify_user'], $data['rectification_reply_user']])->column('name', 'id'); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['notify_user_name'] = $admin[$data['notify_user']] ?? ''; + $data['rectification_reply_user_name'] = $admin[$data['rectification_reply_user']] ?? ''; + }) + ->toArray(); + } + + + /** + * @notes 获取工程监理--监理通知单数量 + * @return int + * @author likeadmin + * @date 2024/03/01 09:20 + */ + public function count(): int + { + return SupervisionNotice::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_work/SupervisionSideStationLists.php b/app/adminapi/lists/supervision_work/SupervisionSideStationLists.php index 20152d871..ca64cd7f7 100644 --- a/app/adminapi/lists/supervision_work/SupervisionSideStationLists.php +++ b/app/adminapi/lists/supervision_work/SupervisionSideStationLists.php @@ -11,84 +11,87 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\supervision_work; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionCheckItem; -use app\common\model\supervision_work\SupervisionProblem; -use app\common\model\supervision_work\SupervisionSideStation; -use app\common\lists\ListsSearchInterface; - - -/** - * 工程监理--旁站登记列表 - * Class SupervisionSideStationLists - * @package app\adminapi\listssupervision_work - */ -class SupervisionSideStationLists extends BaseAdminDataLists implements ListsSearchInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/02/27 13:58 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id', 'side_station_type'], - '%like%' => ['side_station_code'], - ]; - } - - - /** - * @notes 获取工程监理--旁站登记列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/02/27 13:58 - */ - public function lists(): array - { - return SupervisionSideStation::withoutField('update_time,delete_time')->where($this->searchWhere) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $check_item_detail = SupervisionCheckItem::where('id','in',$data['check_item_detail_ids'])->column('node_name'); - $data['project_name'] = $project['project_name']; - $data['check_item_name'] = $check_item['node_name']; - $data['company_name'] = $company['unit_name']; - $data['check_item_detail_name'] = implode(',',$check_item_detail); - $data['side_station_type_text'] = $data->side_station_type_text; - $data['side_station_result_text'] = $data->side_station_result_text; - $data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',2)->count(); - $data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',2)->where('is_rectification',1)->count(); - }) - ->toArray(); - } - - - /** - * @notes 获取工程监理--旁站登记数量 - * @return int - * @author likeadmin - * @date 2024/02/27 13:58 - */ - public function count(): int - { - return SupervisionSideStation::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + + namespace app\adminapi\lists\supervision_work; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionCheckItem; + use app\common\model\supervision_work\SupervisionProblem; + use app\common\model\supervision_work\SupervisionSideStation; + + + /** + * 工程监理--旁站登记列表 + * Class SupervisionSideStationLists + * @package app\adminapi\listssupervision_work + */ + class SupervisionSideStationLists extends BaseAdminDataLists implements ListsSearchInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/02/27 13:58 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id', 'side_station_type'], + '%like%' => ['side_station_code'], + ]; + } + + + /** + * @notes 获取工程监理--旁站登记列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/02/27 13:58 + */ + public function lists(): array + { + return SupervisionSideStation::withoutField('update_time,delete_time')->where($this->searchWhere) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $check_item = SupervisionCheckItem::field('node_name')->where('id', $data['check_item_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $check_item_detail = SupervisionCheckItem::where('id', 'in', $data['check_item_detail_ids'])->column('node_name'); + $admin = Admin::field('name')->where('id', $data['side_station_user'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['check_item_name'] = $check_item['node_name']; + $data['company_name'] = $company['unit_name']; + $data['check_item_detail_name'] = implode(',', $check_item_detail); + $data['side_station_type_text'] = $data->side_station_type_text; + $data['side_station_result_text'] = $data->side_station_result_text; + $data['side_station_user_name'] = $admin?->name; + $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 2)->count(); + $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 2)->where('is_rectification', 1)->count(); + }) + ->toArray(); + } + + + /** + * @notes 获取工程监理--旁站登记数量 + * @return int + * @author likeadmin + * @date 2024/02/27 13:58 + */ + public function count(): int + { + return SupervisionSideStation::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_work/SupervisionTestBlocksSpecimensLists.php b/app/adminapi/lists/supervision_work/SupervisionTestBlocksSpecimensLists.php index 2db129668..3ebb808d5 100644 --- a/app/adminapi/lists/supervision_work/SupervisionTestBlocksSpecimensLists.php +++ b/app/adminapi/lists/supervision_work/SupervisionTestBlocksSpecimensLists.php @@ -11,78 +11,81 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\supervision_work; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionProblem; -use app\common\model\supervision_work\SupervisionTestBlocksSpecimens; -use app\common\lists\ListsSearchInterface; - - -/** - * 工程监理--试块试件见证列表 - * Class SupervisionTestBlocksSpecimensLists - * @package app\adminapi\listssupervision_work - */ -class SupervisionTestBlocksSpecimensLists extends BaseAdminDataLists implements ListsSearchInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/02/29 14:02 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id', 'test_result'], - '%like%' => ['test_type', 'code', 'witness', 'test_site'], - ]; - } - - - /** - * @notes 获取工程监理--试块试件见证列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/02/29 14:02 - */ - public function lists(): array - { - return SupervisionTestBlocksSpecimens::withoutField('update_time,delete_time')->where($this->searchWhere) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - $data['test_result_text'] = $data->test_result_text; - $data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',6)->count(); - $data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',6)->where('is_rectification',1)->count(); - }) - ->toArray(); - } - - - /** - * @notes 获取工程监理--试块试件见证数量 - * @return int - * @author likeadmin - * @date 2024/02/29 14:02 - */ - public function count(): int - { - return SupervisionTestBlocksSpecimens::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + + namespace app\adminapi\lists\supervision_work; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionProblem; + use app\common\model\supervision_work\SupervisionTestBlocksSpecimens; + + + /** + * 工程监理--试块试件见证列表 + * Class SupervisionTestBlocksSpecimensLists + * @package app\adminapi\listssupervision_work + */ + class SupervisionTestBlocksSpecimensLists extends BaseAdminDataLists implements ListsSearchInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/02/29 14:02 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id', 'test_result'], + '%like%' => ['test_type', 'code', 'witness', 'test_site'], + ]; + } + + + /** + * @notes 获取工程监理--试块试件见证列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/02/29 14:02 + */ + public function lists(): array + { + return SupervisionTestBlocksSpecimens::withoutField('update_time,delete_time')->where($this->searchWhere) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['witness'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['test_result_text'] = $data->test_result_text; + $data['witness_name'] = $admin?->name; + $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 6)->count(); + $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 6)->where('is_rectification', 1)->count(); + }) + ->toArray(); + } + + + /** + * @notes 获取工程监理--试块试件见证数量 + * @return int + * @author likeadmin + * @date 2024/02/29 14:02 + */ + public function count(): int + { + return SupervisionTestBlocksSpecimens::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_work/SupervisionWitnessSamplingLists.php b/app/adminapi/lists/supervision_work/SupervisionWitnessSamplingLists.php index 719bc6fa9..5d4d899b6 100644 --- a/app/adminapi/lists/supervision_work/SupervisionWitnessSamplingLists.php +++ b/app/adminapi/lists/supervision_work/SupervisionWitnessSamplingLists.php @@ -11,80 +11,83 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\supervision_work; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionMaterialEntry; -use app\common\model\supervision_work\SupervisionWitnessSampling; -use app\common\lists\ListsSearchInterface; -use app\common\model\supervision_work\SupervisionWitnessSamplingDetail; - - -/** - * 工程监理--见证取样列表 - * Class SupervisionWitnessSamplingLists - * @package app\adminapi\listssupervision_work - */ -class SupervisionWitnessSamplingLists extends BaseAdminDataLists implements ListsSearchInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/02/29 09:22 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id', 'material_entry_id'], - '%like%' => ['code', 'witness', 'sampler'], - ]; - } - - - /** - * @notes 获取工程监理--见证取样列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/02/29 09:22 - */ - public function lists(): array - { - return SupervisionWitnessSampling::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $material_entry = SupervisionMaterialEntry::field('code,theme,company_id,enter_time')->where('id',$data['material_entry_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$material_entry['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - $data['material_entry_code'] = $material_entry['code']; - $data['theme'] = $material_entry['theme']; - $data['enter_time'] = $material_entry['enter_time']; - }) - ->toArray(); - } - - - /** - * @notes 获取工程监理--见证取样数量 - * @return int - * @author likeadmin - * @date 2024/02/29 09:22 - */ - public function count(): int - { - return SupervisionWitnessSampling::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + + namespace app\adminapi\lists\supervision_work; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionMaterialEntry; + use app\common\model\supervision_work\SupervisionWitnessSampling; + + + /** + * 工程监理--见证取样列表 + * Class SupervisionWitnessSamplingLists + * @package app\adminapi\listssupervision_work + */ + class SupervisionWitnessSamplingLists extends BaseAdminDataLists implements ListsSearchInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/02/29 09:22 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id', 'material_entry_id'], + '%like%' => ['code', 'witness', 'sampler'], + ]; + } + + + /** + * @notes 获取工程监理--见证取样列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/02/29 09:22 + */ + public function lists(): array + { + return SupervisionWitnessSampling::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $material_entry = SupervisionMaterialEntry::field('code,theme,company_id,enter_time')->where('id', $data['material_entry_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $material_entry['company_id'])->findOrEmpty(); + $admin = Admin::where('id', 'in', [$data['witness'], $data['sampler']])->column('name', 'id'); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['material_entry_code'] = $material_entry['code']; + $data['theme'] = $material_entry['theme']; + $data['enter_time'] = $material_entry['enter_time']; + $data['witness_name'] = $admin[$data['witness']] ?? ''; + $data['sampler_name'] = $admin[$data['sampler']] ?? ''; + }) + ->toArray(); + } + + + /** + * @notes 获取工程监理--见证取样数量 + * @return int + * @author likeadmin + * @date 2024/02/29 09:22 + */ + public function count(): int + { + return SupervisionWitnessSampling::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_work/SupervisionWorkContactLists.php b/app/adminapi/lists/supervision_work/SupervisionWorkContactLists.php index fae36a4ec..084680300 100644 --- a/app/adminapi/lists/supervision_work/SupervisionWorkContactLists.php +++ b/app/adminapi/lists/supervision_work/SupervisionWorkContactLists.php @@ -11,72 +11,76 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\supervision_work; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionWorkContact; -use app\common\lists\ListsSearchInterface; - - -/** - * 工程监理--监理工作联系单列表 - * Class SupervisionWorkContactLists - * @package app\adminapi\listssupervision_work - */ -class SupervisionWorkContactLists extends BaseAdminDataLists implements ListsSearchInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/03/01 11:01 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id'], - '%like%' => ['code', 'initiator', 'theme', 'copy_user'], - ]; - } - - - /** - * @notes 获取工程监理--监理工作联系单列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/03/01 11:01 - */ - public function lists(): array - { - return SupervisionWorkContact::where($this->searchWhere) - ->field(['id', 'project_id', 'code', 'initiator', 'initiation_date', 'theme', 'copy_user']) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - }) - ->toArray(); - } - - - /** - * @notes 获取工程监理--监理工作联系单数量 - * @return int - * @author likeadmin - * @date 2024/03/01 11:01 - */ - public function count(): int - { - return SupervisionWorkContact::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + + namespace app\adminapi\lists\supervision_work; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionWorkContact; + + + /** + * 工程监理--监理工作联系单列表 + * Class SupervisionWorkContactLists + * @package app\adminapi\listssupervision_work + */ + class SupervisionWorkContactLists extends BaseAdminDataLists implements ListsSearchInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/03/01 11:01 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id'], + '%like%' => ['code', 'initiator', 'theme', 'copy_user'], + ]; + } + + + /** + * @notes 获取工程监理--监理工作联系单列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/03/01 11:01 + */ + public function lists(): array + { + return SupervisionWorkContact::where($this->searchWhere) + ->field(['id', 'project_id', 'code', 'initiator', 'initiation_date', 'theme', 'copy_user']) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $admin = Admin::where('id', 'in', [$data['initiator'], $data['copy_user']])->column('name', 'id'); + $data['project_name'] = $project['project_name']; + $data['initiator_name'] = $admin[$data['initiator']] ?? ''; + $data['copy_user_name'] = $admin[$data['copy_user']] ?? ''; + }) + ->toArray(); + } + + + /** + * @notes 获取工程监理--监理工作联系单数量 + * @return int + * @author likeadmin + * @date 2024/03/01 11:01 + */ + public function count(): int + { + return SupervisionWorkContact::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_prepare/SupervisionPlanningLogic.php b/app/adminapi/logic/supervision_prepare/SupervisionPlanningLogic.php index e3efce884..eb7e7e240 100644 --- a/app/adminapi/logic/supervision_prepare/SupervisionPlanningLogic.php +++ b/app/adminapi/logic/supervision_prepare/SupervisionPlanningLogic.php @@ -11,117 +11,120 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_prepare; - - -use app\common\model\supervision_prepare\SupervisionPlanning; -use app\common\logic\BaseLogic; -use app\common\model\supervision_project\SupervisionProject; -use think\facade\Db; - - -/** - * 工程监理--监理规划逻辑 - * Class SupervisionPlanningLogic - * @package app\adminapi\logic\supervision_prepare - */ -class SupervisionPlanningLogic extends BaseLogic -{ - - - /** - * @notes 添加工程监理--监理规划 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/23 16:45 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - SupervisionPlanning::create([ - 'project_id' => $params['project_id'], - 'approval_type' => $params['approval_type'], - 'approval_user' => $params['approval_user'], - 'scheme_name' => $params['scheme_name'], - 'approval_content' => $params['approval_content'], - 'remark' => $params['remark'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - ]); - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑工程监理--监理规划 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/23 16:45 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - SupervisionPlanning::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'approval_type' => $params['approval_type'], - 'approval_user' => $params['approval_user'], - 'scheme_name' => $params['scheme_name'], - 'approval_content' => $params['approval_content'], - 'remark' => $params['remark'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - 'update_time' => time(), - ]); - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除工程监理--监理规划 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/23 16:45 - */ - public static function delete(array $params): bool - { - return SupervisionPlanning::destroy($params['id']); - } - - - /** - * @notes 获取工程监理--监理规划详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/02/23 16:45 - */ - public static function detail($params): array - { - $data = SupervisionPlanning::withoutField('update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name,project_manager')->where('id',$data['project_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['project_manager'] = $project['project_manager']; - $data['approval_type_text'] = $data->approval_type_text; - return $data->toArray(); - } -} \ No newline at end of file + + namespace app\adminapi\logic\supervision_prepare; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_prepare\SupervisionPlanning; + use app\common\model\supervision_project\SupervisionProject; + use think\facade\Db; + + + /** + * 工程监理--监理规划逻辑 + * Class SupervisionPlanningLogic + * @package app\adminapi\logic\supervision_prepare + */ + class SupervisionPlanningLogic extends BaseLogic + { + + + /** + * @notes 添加工程监理--监理规划 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/23 16:45 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + SupervisionPlanning::create([ + 'project_id' => $params['project_id'], + 'approval_type' => $params['approval_type'], + 'approval_user' => $params['approval_user'], + 'scheme_name' => $params['scheme_name'], + 'approval_content' => $params['approval_content'], + 'remark' => $params['remark'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 编辑工程监理--监理规划 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/23 16:45 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + SupervisionPlanning::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'approval_type' => $params['approval_type'], + 'approval_user' => $params['approval_user'], + 'scheme_name' => $params['scheme_name'], + 'approval_content' => $params['approval_content'], + 'remark' => $params['remark'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + 'update_time' => time(), + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工程监理--监理规划 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/23 16:45 + */ + public static function delete(array $params): bool + { + return SupervisionPlanning::destroy($params['id']); + } + + + /** + * @notes 获取工程监理--监理规划详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/02/23 16:45 + */ + public static function detail($params): array + { + $data = SupervisionPlanning::withoutField('update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name,project_manager')->where('id', $data['project_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['approval_user'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['project_manager'] = $project['project_manager']; + $data['approval_type_text'] = $data->approval_type_text; + $data['approval_user_name'] = $admin?->name; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_work/SupervisionDeviceEntryLogic.php b/app/adminapi/logic/supervision_work/SupervisionDeviceEntryLogic.php index 621968d7f..a55f9d527 100644 --- a/app/adminapi/logic/supervision_work/SupervisionDeviceEntryLogic.php +++ b/app/adminapi/logic/supervision_work/SupervisionDeviceEntryLogic.php @@ -11,127 +11,55 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_work; - - -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionDeviceEntry; -use app\common\logic\BaseLogic; -use app\common\model\supervision_work\SupervisionDeviceEntryDetail; -use app\common\model\supervision_work\SupervisionProblem; -use think\facade\Db; - - -/** - * 工程监理--设备进场逻辑 - * Class SupervisionDeviceEntryLogic - * @package app\adminapi\logic\supervision_work - */ -class SupervisionDeviceEntryLogic extends BaseLogic -{ - - - /** - * @notes 添加工程监理--设备进场 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/28 16:12 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - $res = SupervisionDeviceEntry::create([ - 'project_id' => $params['project_id'], - 'code' => data_unique_code('SBJC'), - 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, - 'company_id' => $params['company_id'], - 'enter_result' => $params['enter_result'], - 'co_participant' => $params['co_participant'], - 'remark' => $params['remark'], - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - ]); - if(!empty($params['entry_detail'])){ - foreach($params['entry_detail'] as $v){ - SupervisionDeviceEntryDetail::create([ - 'device_entry_id' => $res->id, - 'name' => $v['name'], - 'brand' => $v['brand'], - 'model' => $v['model'], - 'unit' => $v['unit'], - 'contract_brand' => $v['contract_brand'], - 'entry_number' => $v['entry_number'], - 'documentation' => $v['documentation'], - 'verify' => $v['verify'] - ]); - } - } - if(!empty($params['entry_problem'])){ - foreach($params['entry_problem'] as $v){ - SupervisionProblem::create([ - 'data_id' => $res->id, - 'data_type' => 4, - 'problem_cate' => $v['problem_cate'], - 'problem_description' => $v['problem_description'], - 'problem_name' => $v['problem_name'], - 'create_user' => $params['create_user'] - ]); - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑工程监理--设备进场 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/28 16:12 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - SupervisionDeviceEntry::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, - 'company_id' => $params['company_id'], - 'enter_result' => $params['enter_result'], - 'co_participant' => $params['co_participant'], - 'remark' => $params['remark'], - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - 'update_time' => time() - ]); - if(!empty($params['entry_detail'])){ - foreach($params['entry_detail'] as $v){ - if(!empty($v['id'])){ - SupervisionDeviceEntryDetail::where('id',$v['id'])->update([ - 'device_entry_id' => $params['id'], - 'name' => $v['name'], - 'brand' => $v['brand'], - 'model' => $v['model'], - 'unit' => $v['unit'], - 'contract_brand' => $v['contract_brand'], - 'entry_number' => $v['entry_number'], - 'documentation' => $v['documentation'], - 'verify' => $v['verify'], - 'update_time' => time() - ]); - }else{ + + namespace app\adminapi\logic\supervision_work; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionDeviceEntry; + use app\common\model\supervision_work\SupervisionDeviceEntryDetail; + use app\common\model\supervision_work\SupervisionProblem; + use think\facade\Db; + + + /** + * 工程监理--设备进场逻辑 + * Class SupervisionDeviceEntryLogic + * @package app\adminapi\logic\supervision_work + */ + class SupervisionDeviceEntryLogic extends BaseLogic + { + + + /** + * @notes 添加工程监理--设备进场 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/28 16:12 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + $res = SupervisionDeviceEntry::create([ + 'project_id' => $params['project_id'], + 'code' => data_unique_code('SBJC'), + 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, + 'company_id' => $params['company_id'], + 'enter_result' => $params['enter_result'], + 'co_participant' => $params['co_participant'], + 'remark' => $params['remark'], + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + if (!empty($params['entry_detail'])) { + foreach ($params['entry_detail'] as $v) { SupervisionDeviceEntryDetail::create([ - 'device_entry_id' => $params['id'], + 'device_entry_id' => $res->id, 'name' => $v['name'], 'brand' => $v['brand'], 'model' => $v['model'], @@ -142,22 +70,11 @@ class SupervisionDeviceEntryLogic extends BaseLogic 'verify' => $v['verify'] ]); } - } - } - if(!empty($params['entry_problem'])){ - foreach($params['entry_problem'] as $v){ - if(!empty($v['id'])){ - SupervisionProblem::where('id',$v['id'])->update([ - 'data_id' => $params['id'], - 'data_type' => 4, - 'problem_cate' => $v['problem_cate'], - 'problem_description' => $v['problem_description'], - 'problem_name' => $v['problem_name'], - 'update_time' => time() - ]); - }else{ + } + if (!empty($params['entry_problem'])) { + foreach ($params['entry_problem'] as $v) { SupervisionProblem::create([ - 'data_id' => $params['id'], + 'data_id' => $res->id, 'data_type' => 4, 'problem_cate' => $v['problem_cate'], 'problem_description' => $v['problem_description'], @@ -165,56 +82,142 @@ class SupervisionDeviceEntryLogic extends BaseLogic 'create_user' => $params['create_user'] ]); } - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除工程监理--设备进场 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/28 16:12 - */ - public static function delete(array $params): bool - { - $entry_detail = SupervisionDeviceEntryDetail::where('device_entry_id','in',$params['id'])->findOrEmpty(); - if(!$entry_detail->isEmpty()){ - self::setError('该内容下存在设备信息数据,请先删除设备信息数据'); - return false; + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } } - $entry_problem = SupervisionProblem::where('data_id','in',$params['id'])->where('data_type',4)->findOrEmpty(); - if(!$entry_problem->isEmpty()){ - self::setError('该内容下存在设备问题数据,请先删除设备问题数据'); - return false; - } - return SupervisionDeviceEntry::destroy($params['id']); - } - - - /** - * @notes 获取工程监理--设备进场详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/02/28 16:12 - */ - public static function detail($params): array - { - $data = SupervisionDeviceEntry::withoutField('update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - $data['enter_result_text'] = $data->enter_result_text; - return $data->toArray(); - } -} \ No newline at end of file + + + /** + * @notes 编辑工程监理--设备进场 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/28 16:12 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + SupervisionDeviceEntry::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, + 'company_id' => $params['company_id'], + 'enter_result' => $params['enter_result'], + 'co_participant' => $params['co_participant'], + 'remark' => $params['remark'], + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + 'update_time' => time() + ]); + if (!empty($params['entry_detail'])) { + foreach ($params['entry_detail'] as $v) { + if (!empty($v['id'])) { + SupervisionDeviceEntryDetail::where('id', $v['id'])->update([ + 'device_entry_id' => $params['id'], + 'name' => $v['name'], + 'brand' => $v['brand'], + 'model' => $v['model'], + 'unit' => $v['unit'], + 'contract_brand' => $v['contract_brand'], + 'entry_number' => $v['entry_number'], + 'documentation' => $v['documentation'], + 'verify' => $v['verify'], + 'update_time' => time() + ]); + } else { + SupervisionDeviceEntryDetail::create([ + 'device_entry_id' => $params['id'], + 'name' => $v['name'], + 'brand' => $v['brand'], + 'model' => $v['model'], + 'unit' => $v['unit'], + 'contract_brand' => $v['contract_brand'], + 'entry_number' => $v['entry_number'], + 'documentation' => $v['documentation'], + 'verify' => $v['verify'] + ]); + } + } + } + if (!empty($params['entry_problem'])) { + foreach ($params['entry_problem'] as $v) { + if (!empty($v['id'])) { + SupervisionProblem::where('id', $v['id'])->update([ + 'data_id' => $params['id'], + 'data_type' => 4, + 'problem_cate' => $v['problem_cate'], + 'problem_description' => $v['problem_description'], + 'problem_name' => $v['problem_name'], + 'update_time' => time() + ]); + } else { + SupervisionProblem::create([ + 'data_id' => $params['id'], + 'data_type' => 4, + 'problem_cate' => $v['problem_cate'], + 'problem_description' => $v['problem_description'], + 'problem_name' => $v['problem_name'], + 'create_user' => $params['create_user'] + ]); + } + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工程监理--设备进场 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/28 16:12 + */ + public static function delete(array $params): bool + { + $entry_detail = SupervisionDeviceEntryDetail::where('device_entry_id', 'in', $params['id'])->findOrEmpty(); + if (!$entry_detail->isEmpty()) { + self::setError('该内容下存在设备信息数据,请先删除设备信息数据'); + return false; + } + $entry_problem = SupervisionProblem::where('data_id', 'in', $params['id'])->where('data_type', 4)->findOrEmpty(); + if (!$entry_problem->isEmpty()) { + self::setError('该内容下存在设备问题数据,请先删除设备问题数据'); + return false; + } + return SupervisionDeviceEntry::destroy($params['id']); + } + + + /** + * @notes 获取工程监理--设备进场详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/02/28 16:12 + */ + public static function detail($params): array + { + $data = SupervisionDeviceEntry::withoutField('update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['co_participant'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['enter_result_text'] = $data->enter_result_text; + $data['co_participant_name'] = $admin?->name; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_work/SupervisionDiaryLogic.php b/app/adminapi/logic/supervision_work/SupervisionDiaryLogic.php index 1eb756a78..e7502f409 100644 --- a/app/adminapi/logic/supervision_work/SupervisionDiaryLogic.php +++ b/app/adminapi/logic/supervision_work/SupervisionDiaryLogic.php @@ -11,121 +11,125 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_work; - - -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionDiary; -use app\common\logic\BaseLogic; -use think\facade\Db; - - -/** - * 工程监理--监理日记逻辑 - * Class SupervisionDiaryLogic - * @package app\adminapi\logic\supervision_work - */ -class SupervisionDiaryLogic extends BaseLogic -{ - - - /** - * @notes 添加工程监理--监理日记 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 13:53 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - SupervisionDiary::create([ - 'project_id' => $params['project_id'], - 'date' => !empty($params['date']) ? strtotime($params['date']) : 0, - 'week' => $params['week'], - 'air_temperature' => $params['air_temperature'], - 'climate' => $params['climate'], - 'user' => $params['user'], - 'director' => $params['director'], - 'engineering_dynamics' => $params['engineering_dynamics'], - 'supervision_work' => $params['supervision_work'], - 'construction_situation' => $params['construction_situation'], - 'other_matters' => $params['other_matters'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - ]); - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑工程监理--监理日记 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 13:53 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - SupervisionDiary::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'date' => !empty($params['date']) ? strtotime($params['date']) : 0, - 'week' => $params['week'], - 'air_temperature' => $params['air_temperature'], - 'climate' => $params['climate'], - 'user' => $params['user'], - 'director' => $params['director'], - 'engineering_dynamics' => $params['engineering_dynamics'], - 'supervision_work' => $params['supervision_work'], - 'construction_situation' => $params['construction_situation'], - 'other_matters' => $params['other_matters'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'update_time' => time(), - ]); - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除工程监理--监理日记 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 13:53 - */ - public static function delete(array $params): bool - { - return SupervisionDiary::destroy($params['id']); - } - - - /** - * @notes 获取工程监理--监理日记详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/03/01 13:53 - */ - public static function detail($params): array - { - $data = SupervisionDiary::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - return $data->toArray(); - } -} \ No newline at end of file + + namespace app\adminapi\logic\supervision_work; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionDiary; + use think\facade\Db; + + + /** + * 工程监理--监理日记逻辑 + * Class SupervisionDiaryLogic + * @package app\adminapi\logic\supervision_work + */ + class SupervisionDiaryLogic extends BaseLogic + { + + + /** + * @notes 添加工程监理--监理日记 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 13:53 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + SupervisionDiary::create([ + 'project_id' => $params['project_id'], + 'date' => !empty($params['date']) ? strtotime($params['date']) : 0, + 'week' => $params['week'], + 'air_temperature' => $params['air_temperature'], + 'climate' => $params['climate'], + 'user' => $params['user'], + 'director' => $params['director'], + 'engineering_dynamics' => $params['engineering_dynamics'], + 'supervision_work' => $params['supervision_work'], + 'construction_situation' => $params['construction_situation'], + 'other_matters' => $params['other_matters'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 编辑工程监理--监理日记 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 13:53 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + SupervisionDiary::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'date' => !empty($params['date']) ? strtotime($params['date']) : 0, + 'week' => $params['week'], + 'air_temperature' => $params['air_temperature'], + 'climate' => $params['climate'], + 'user' => $params['user'], + 'director' => $params['director'], + 'engineering_dynamics' => $params['engineering_dynamics'], + 'supervision_work' => $params['supervision_work'], + 'construction_situation' => $params['construction_situation'], + 'other_matters' => $params['other_matters'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'update_time' => time(), + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工程监理--监理日记 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 13:53 + */ + public static function delete(array $params): bool + { + return SupervisionDiary::destroy($params['id']); + } + + + /** + * @notes 获取工程监理--监理日记详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/03/01 13:53 + */ + public static function detail($params): array + { + $data = SupervisionDiary::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $admin = Admin::where('id', 'in', [$data['user'], $data['director']])->column('name', 'id'); + $data['project_name'] = $project['project_name']; + $data['user_name'] = $admin[$data['user']] ?? ''; + $data['director_name'] = $admin[$data['director']] ?? ''; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_work/SupervisionInspectionLogic.php b/app/adminapi/logic/supervision_work/SupervisionInspectionLogic.php index a523bf4f0..6213cfe8c 100644 --- a/app/adminapi/logic/supervision_work/SupervisionInspectionLogic.php +++ b/app/adminapi/logic/supervision_work/SupervisionInspectionLogic.php @@ -11,164 +11,76 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_work; - - -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionCheckItem; -use app\common\model\supervision_work\SupervisionInspection; -use app\common\logic\BaseLogic; -use app\common\model\supervision_work\SupervisionInspectionResult; -use app\common\model\supervision_work\SupervisionProblem; -use think\facade\Db; - - -/** - * 工程监理--巡视登记逻辑 - * Class SupervisionInspectionLogic - * @package app\adminapi\logic\supervision_work - */ -class SupervisionInspectionLogic extends BaseLogic -{ - - - /** - * @notes 添加工程监理--巡视登记 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/26 17:18 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - $res = SupervisionInspection::create([ - 'project_id' => $params['project_id'], - 'inspection_code' => data_unique_code('XS'), - 'inspection_type' => $params['inspection_type'], - 'check_item_id' => $params['check_item_id'], - 'inspection_position' => $params['inspection_position'], - 'workers' => $params['workers'], - 'managers' => $params['managers'], - 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, - 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, - 'inspection_user' => $params['inspection_user'], - 'company_id' => $params['company_id'], - 'inspection_content' => $params['inspection_content'], - 'is_important' => $params['is_important'], - 'follow_user' => $params['follow_user'], - 'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - ]); - if(!empty($params['inspection_result'])){ - foreach($params['inspection_result'] as $v){ - SupervisionInspectionResult::create([ - 'inspection_id' => $res->id, - 'check_type' => $v['check_type'], - 'check_content' => $v['check_content'], - 'must_check' => $v['must_check'], - 'check_result' => $v['check_result'] - ]); - } - } - if(!empty($params['inspection_problem'])){ - foreach($params['inspection_problem'] as $v){ - SupervisionProblem::create([ - 'data_id' => $res->id, - 'data_type' => 1, - 'problem_cate' => $v['problem_cate'], - 'problem_description' => $v['problem_description'], - 'problem_name' => $v['problem_name'], - 'create_user' => $params['create_user'], - ]); - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑工程监理--巡视登记 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/26 17:18 - */ - public static function edit(array $params): bool - { - $data = SupervisionInspection::field('check_item_detail_ids')->where('id',$params['id'])->findOrEmpty(); - Db::startTrans(); - try { - SupervisionInspection::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'inspection_type' => $params['inspection_type'], - 'check_item_id' => $params['check_item_id'], - 'inspection_position' => $params['inspection_position'], - 'workers' => $params['workers'], - 'managers' => $params['managers'], - 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, - 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, - 'inspection_user' => $params['inspection_user'], - 'company_id' => $params['company_id'], - 'inspection_content' => $params['inspection_content'], - 'is_important' => $params['is_important'], - 'follow_user' => $params['follow_user'], - 'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - 'update_time' => time(), - ]); - if(json_encode($data['check_item_detail_ids']) != json_encode($params['check_item_detail_ids'])){ - $supervision_inspection_result_ids = SupervisionInspectionResult::where('inspection_id',$params['id'])->column('id'); - SupervisionInspectionResult::destroy($supervision_inspection_result_ids); - } - if(!empty($params['inspection_result'])){ - foreach($params['inspection_result'] as $v){ - if(!empty($v['id'])){ - SupervisionInspectionResult::where('id',$v['id'])->update([ - 'inspection_id' => $params['id'], - 'check_type' => $v['check_type'], - 'check_content' => $v['check_content'], - 'must_check' => $v['must_check'], - 'check_result' => $v['check_result'], - 'update_time' => time(), - ]); - }else{ + + namespace app\adminapi\logic\supervision_work; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionCheckItem; + use app\common\model\supervision_work\SupervisionInspection; + use app\common\model\supervision_work\SupervisionInspectionResult; + use app\common\model\supervision_work\SupervisionProblem; + use think\facade\Db; + + + /** + * 工程监理--巡视登记逻辑 + * Class SupervisionInspectionLogic + * @package app\adminapi\logic\supervision_work + */ + class SupervisionInspectionLogic extends BaseLogic + { + + + /** + * @notes 添加工程监理--巡视登记 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/26 17:18 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + $res = SupervisionInspection::create([ + 'project_id' => $params['project_id'], + 'inspection_code' => data_unique_code('XS'), + 'inspection_type' => $params['inspection_type'], + 'check_item_id' => $params['check_item_id'], + 'inspection_position' => $params['inspection_position'], + 'workers' => $params['workers'], + 'managers' => $params['managers'], + 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, + 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, + 'inspection_user' => $params['inspection_user'], + 'company_id' => $params['company_id'], + 'inspection_content' => $params['inspection_content'], + 'is_important' => $params['is_important'], + 'follow_user' => $params['follow_user'], + 'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + if (!empty($params['inspection_result'])) { + foreach ($params['inspection_result'] as $v) { SupervisionInspectionResult::create([ - 'inspection_id' => $params['id'], + 'inspection_id' => $res->id, 'check_type' => $v['check_type'], 'check_content' => $v['check_content'], 'must_check' => $v['must_check'], 'check_result' => $v['check_result'] ]); } - } - } - if(!empty($params['inspection_problem'])){ - foreach($params['inspection_problem'] as $v){ - if(!empty($v['id'])){ - SupervisionProblem::where('id',$v['id'])->update([ - 'data_id' => $params['id'], - 'data_type' => 1, - 'problem_cate' => $v['problem_cate'], - 'problem_description' => $v['problem_description'], - 'problem_name' => $v['problem_name'], - ]); - }else{ + } + if (!empty($params['inspection_problem'])) { + foreach ($params['inspection_problem'] as $v) { SupervisionProblem::create([ - 'data_id' => $params['id'], + 'data_id' => $res->id, 'data_type' => 1, 'problem_cate' => $v['problem_cate'], 'problem_description' => $v['problem_description'], @@ -176,61 +88,153 @@ class SupervisionInspectionLogic extends BaseLogic 'create_user' => $params['create_user'], ]); } - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除工程监理--巡视登记 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/26 17:18 - */ - public static function delete(array $params): bool - { - $inspection_result = SupervisionInspectionResult::where('inspection_id','in',$params['id'])->findOrEmpty(); - if(!$inspection_result->isEmpty()){ - self::setError('该巡视内容下存在巡视结果数据,请先删除巡视结果数据'); - return false; - } - $inspection_problem = SupervisionProblem::where('data_id','in',$params['id'])->where('data_type',1)->findOrEmpty(); - if(!$inspection_problem->isEmpty()){ - self::setError('该巡视内容下存在巡视问题数据,请先删除巡视问题数据'); - return false; + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } } - return SupervisionInspection::destroy($params['id']); - } - - - /** - * @notes 获取工程监理--巡视登记详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/02/26 17:18 - */ - public static function detail($params): array - { - $data = SupervisionInspection::withoutField('update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $check_item_detail = SupervisionCheckItem::where('id','in',$data['check_item_detail_ids'])->column('node_name'); - $data['project_name'] = $project['project_name']; - $data['check_item_name'] = $check_item['node_name']; - $data['company_name'] = $company['unit_name']; - $data['check_item_detail_name'] = implode(',',$check_item_detail); - $data['inspection_type_text'] = $data->inspection_type_text; - $data['is_important_text'] = $data->is_important_text; - return $data->toArray(); - } -} \ No newline at end of file + + + /** + * @notes 编辑工程监理--巡视登记 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/26 17:18 + */ + public static function edit(array $params): bool + { + $data = SupervisionInspection::field('check_item_detail_ids')->where('id', $params['id'])->findOrEmpty(); + Db::startTrans(); + try { + SupervisionInspection::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'inspection_type' => $params['inspection_type'], + 'check_item_id' => $params['check_item_id'], + 'inspection_position' => $params['inspection_position'], + 'workers' => $params['workers'], + 'managers' => $params['managers'], + 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, + 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, + 'inspection_user' => $params['inspection_user'], + 'company_id' => $params['company_id'], + 'inspection_content' => $params['inspection_content'], + 'is_important' => $params['is_important'], + 'follow_user' => $params['follow_user'], + 'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + 'update_time' => time(), + ]); + if (json_encode($data['check_item_detail_ids']) != json_encode($params['check_item_detail_ids'])) { + $supervision_inspection_result_ids = SupervisionInspectionResult::where('inspection_id', $params['id'])->column('id'); + SupervisionInspectionResult::destroy($supervision_inspection_result_ids); + } + if (!empty($params['inspection_result'])) { + foreach ($params['inspection_result'] as $v) { + if (!empty($v['id'])) { + SupervisionInspectionResult::where('id', $v['id'])->update([ + 'inspection_id' => $params['id'], + 'check_type' => $v['check_type'], + 'check_content' => $v['check_content'], + 'must_check' => $v['must_check'], + 'check_result' => $v['check_result'], + 'update_time' => time(), + ]); + } else { + SupervisionInspectionResult::create([ + 'inspection_id' => $params['id'], + 'check_type' => $v['check_type'], + 'check_content' => $v['check_content'], + 'must_check' => $v['must_check'], + 'check_result' => $v['check_result'] + ]); + } + } + } + if (!empty($params['inspection_problem'])) { + foreach ($params['inspection_problem'] as $v) { + if (!empty($v['id'])) { + SupervisionProblem::where('id', $v['id'])->update([ + 'data_id' => $params['id'], + 'data_type' => 1, + 'problem_cate' => $v['problem_cate'], + 'problem_description' => $v['problem_description'], + 'problem_name' => $v['problem_name'], + ]); + } else { + SupervisionProblem::create([ + 'data_id' => $params['id'], + 'data_type' => 1, + 'problem_cate' => $v['problem_cate'], + 'problem_description' => $v['problem_description'], + 'problem_name' => $v['problem_name'], + 'create_user' => $params['create_user'], + ]); + } + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工程监理--巡视登记 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/26 17:18 + */ + public static function delete(array $params): bool + { + $inspection_result = SupervisionInspectionResult::where('inspection_id', 'in', $params['id'])->findOrEmpty(); + if (!$inspection_result->isEmpty()) { + self::setError('该巡视内容下存在巡视结果数据,请先删除巡视结果数据'); + return false; + } + $inspection_problem = SupervisionProblem::where('data_id', 'in', $params['id'])->where('data_type', 1)->findOrEmpty(); + if (!$inspection_problem->isEmpty()) { + self::setError('该巡视内容下存在巡视问题数据,请先删除巡视问题数据'); + return false; + } + return SupervisionInspection::destroy($params['id']); + } + + + /** + * @notes 获取工程监理--巡视登记详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/02/26 17:18 + */ + public static function detail($params): array + { + $data = SupervisionInspection::withoutField('update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $check_item = SupervisionCheckItem::field('node_name')->where('id', $data['check_item_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $check_item_detail = SupervisionCheckItem::where('id', 'in', $data['check_item_detail_ids'])->column('node_name'); + $admin = Admin::where('id', 'in', [$data['inspection_user'], $data['follow_user']])->column('name', 'id'); + $data['project_name'] = $project['project_name']; + $data['check_item_name'] = $check_item['node_name']; + $data['company_name'] = $company['unit_name']; + $data['check_item_detail_name'] = implode(',', $check_item_detail); + $data['inspection_type_text'] = $data->inspection_type_text; + $data['is_important_text'] = $data->is_important_text; + $data['inspection_user_name'] = $admin[$data['inspection_user']] ?? ''; + $data['follow_user_name'] = $admin[$data['follow_user']] ?? ''; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_work/SupervisionMaterialEntryLogic.php b/app/adminapi/logic/supervision_work/SupervisionMaterialEntryLogic.php index 1211aa186..cffcaf478 100644 --- a/app/adminapi/logic/supervision_work/SupervisionMaterialEntryLogic.php +++ b/app/adminapi/logic/supervision_work/SupervisionMaterialEntryLogic.php @@ -11,114 +11,56 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_work; - - -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionMaterialEntry; -use app\common\logic\BaseLogic; -use app\common\model\supervision_work\SupervisionMaterialEntryDetail; -use think\facade\Db; - - -/** - * 材料进场逻辑 - * Class SupervisionMaterialEntryLogic - * @package app\adminapi\logic\supervision_work - */ -class SupervisionMaterialEntryLogic extends BaseLogic -{ - - - /** - * @notes 添加材料进场 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/28 13:41 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - $res = SupervisionMaterialEntry::create([ - 'project_id' => $params['project_id'], - 'company_id' => $params['company_id'], - 'theme' => $params['theme'], - 'code' => data_unique_code('CLJC'), - 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, - 'co_participant' => $params['co_participant'], - 'enter_result' => $params['enter_result'], - 'parallel_test' => $params['parallel_test'], - 'remark' => $params['remark'], - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - ]); - if(!empty($params['entry_detail'])){ - foreach($params['entry_detail'] as $v) { - SupervisionMaterialEntryDetail::create([ - 'material_entry_id' => $res->id, - 'name' => $v['name'], - 'brand' => $v['brand'], - 'model' => $v['model'], - 'unit' => $v['unit'], - 'contract_brand' => $v['contract_brand'], - 'entry_number' => $v['entry_number'] - ]); - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑材料进场 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/28 13:41 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - SupervisionMaterialEntry::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'company_id' => $params['company_id'], - 'theme' => $params['theme'], - 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, - 'co_participant' => $params['co_participant'], - 'enter_result' => $params['enter_result'], - 'parallel_test' => $params['parallel_test'], - 'remark' => $params['remark'], - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - 'update_time' => time(), - ]); - if(!empty($params['entry_detail'])){ - foreach($params['entry_detail'] as $v) { - if(!empty($v['id'])){ - SupervisionMaterialEntryDetail::where('id',$v['id'])->update([ - 'material_entry_id' => $params['id'], - 'name' => $v['name'], - 'brand' => $v['brand'], - 'model' => $v['model'], - 'unit' => $v['unit'], - 'contract_brand' => $v['contract_brand'], - 'entry_number' => $v['entry_number'], - 'update_time' => time() - ]); - }else{ + + namespace app\adminapi\logic\supervision_work; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionMaterialEntry; + use app\common\model\supervision_work\SupervisionMaterialEntryDetail; + use think\facade\Db; + + + /** + * 材料进场逻辑 + * Class SupervisionMaterialEntryLogic + * @package app\adminapi\logic\supervision_work + */ + class SupervisionMaterialEntryLogic extends BaseLogic + { + + + /** + * @notes 添加材料进场 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/28 13:41 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + $res = SupervisionMaterialEntry::create([ + 'project_id' => $params['project_id'], + 'company_id' => $params['company_id'], + 'theme' => $params['theme'], + 'code' => data_unique_code('CLJC'), + 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, + 'co_participant' => $params['co_participant'], + 'enter_result' => $params['enter_result'], + 'parallel_test' => $params['parallel_test'], + 'remark' => $params['remark'], + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + if (!empty($params['entry_detail'])) { + foreach ($params['entry_detail'] as $v) { SupervisionMaterialEntryDetail::create([ - 'material_entry_id' => $params['id'], + 'material_entry_id' => $res->id, 'name' => $v['name'], 'brand' => $v['brand'], 'model' => $v['model'], @@ -127,63 +69,124 @@ class SupervisionMaterialEntryLogic extends BaseLogic 'entry_number' => $v['entry_number'] ]); } - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除材料进场 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/28 13:41 - */ - public static function delete(array $params): bool - { - $entry_detail = SupervisionMaterialEntryDetail::where('material_entry_id','in',$params['id'])->findOrEmpty(); - if(!$entry_detail->isEmpty()){ - self::setError('当前数据下存在材料信息记录,请先删除材料信息记录'); - return false; + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } } - return SupervisionMaterialEntry::destroy($params['id']); - } - - - /** - * @notes 获取材料进场详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/02/28 13:41 - */ - public static function detail($params): array - { - $data = SupervisionMaterialEntry::withoutField('update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - $data['enter_result_text'] = $data->enter_result_text; - $data['parallel_test_text'] = $data->parallel_test_text; - return $data->toArray(); - } - - public static function datas() - { - $datas = SupervisionMaterialEntry::field(['id', 'code']) - ->order(['id' => 'desc']) - ->select()->each(function($data){ - $data['projectinfo'] = 'ID:' . $data['id'] . ' / 编码:' . $data['code']; - }) - ->toArray(); - return $datas; - } -} \ No newline at end of file + + + /** + * @notes 编辑材料进场 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/28 13:41 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + SupervisionMaterialEntry::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'company_id' => $params['company_id'], + 'theme' => $params['theme'], + 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, + 'co_participant' => $params['co_participant'], + 'enter_result' => $params['enter_result'], + 'parallel_test' => $params['parallel_test'], + 'remark' => $params['remark'], + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + 'update_time' => time(), + ]); + if (!empty($params['entry_detail'])) { + foreach ($params['entry_detail'] as $v) { + if (!empty($v['id'])) { + SupervisionMaterialEntryDetail::where('id', $v['id'])->update([ + 'material_entry_id' => $params['id'], + 'name' => $v['name'], + 'brand' => $v['brand'], + 'model' => $v['model'], + 'unit' => $v['unit'], + 'contract_brand' => $v['contract_brand'], + 'entry_number' => $v['entry_number'], + 'update_time' => time() + ]); + } else { + SupervisionMaterialEntryDetail::create([ + 'material_entry_id' => $params['id'], + 'name' => $v['name'], + 'brand' => $v['brand'], + 'model' => $v['model'], + 'unit' => $v['unit'], + 'contract_brand' => $v['contract_brand'], + 'entry_number' => $v['entry_number'] + ]); + } + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除材料进场 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/28 13:41 + */ + public static function delete(array $params): bool + { + $entry_detail = SupervisionMaterialEntryDetail::where('material_entry_id', 'in', $params['id'])->findOrEmpty(); + if (!$entry_detail->isEmpty()) { + self::setError('当前数据下存在材料信息记录,请先删除材料信息记录'); + return false; + } + return SupervisionMaterialEntry::destroy($params['id']); + } + + + /** + * @notes 获取材料进场详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/02/28 13:41 + */ + public static function detail($params): array + { + $data = SupervisionMaterialEntry::withoutField('update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['co_participant'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['enter_result_text'] = $data->enter_result_text; + $data['parallel_test_text'] = $data->parallel_test_text; + $data['co_participant_name'] = $admin?->name; + return $data->toArray(); + } + + public static function datas() + { + $datas = SupervisionMaterialEntry::field(['id', 'code']) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $data['projectinfo'] = 'ID:' . $data['id'] . ' / 编码:' . $data['code']; + }) + ->toArray(); + return $datas; + } + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_work/SupervisionMaterialParallelTestingLogic.php b/app/adminapi/logic/supervision_work/SupervisionMaterialParallelTestingLogic.php index f4c007cb8..f15628252 100644 --- a/app/adminapi/logic/supervision_work/SupervisionMaterialParallelTestingLogic.php +++ b/app/adminapi/logic/supervision_work/SupervisionMaterialParallelTestingLogic.php @@ -11,154 +11,157 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_work; - - -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionMaterialEntry; -use app\common\model\supervision_work\SupervisionMaterialParallelTesting; -use app\common\logic\BaseLogic; -use app\common\model\supervision_work\SupervisionMaterialParallelTestingDetail; -use think\facade\Db; - - -/** - * 工程监理--材料平行检验逻辑 - * Class SupervisionMaterialParallelTestingLogic - * @package app\adminapi\logic\supervision_work - */ -class SupervisionMaterialParallelTestingLogic extends BaseLogic -{ - - - /** - * @notes 添加工程监理--材料平行检验 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/29 15:00 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - $res = SupervisionMaterialParallelTesting::create([ - 'project_id' => $params['project_id'], - 'material_entry_id' => $params['material_entry_id'], - 'code' => data_unique_code('CLPXJY'), - 'inspector' => $params['inspector'], - 'inspection_date' => !empty($params['inspection_date']) ? strtotime($params['inspection_date']) : 0, - 'remark' => $params['remark'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - ]); - if(!empty($params['detail'])){ - foreach($params['detail'] as $v){ - SupervisionMaterialParallelTestingDetail::create([ - 'material_parallel_testing_id' => $res->id, - 'material_entry_detail_id' => $v['material_entry_detail_id'], - 'num' => $v['num'] - ]); - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑工程监理--材料平行检验 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/29 15:00 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - SupervisionMaterialParallelTesting::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'material_entry_id' => $params['material_entry_id'], - 'inspector' => $params['inspector'], - 'inspection_date' => !empty($params['inspection_date']) ? strtotime($params['inspection_date']) : 0, - 'remark' => $params['remark'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - 'update_time' => time() - ]); - if(!empty($params['detail'])){ - foreach($params['detail'] as $v){ - if(!empty($v['id'])){ - SupervisionMaterialParallelTestingDetail::where('id',$v['id'])->update([ - 'material_parallel_testing_id' => $params['id'], - 'material_entry_detail_id' => $v['material_entry_detail_id'], - 'num' => $v['num'], - 'update_time' => time() - ]); - }else{ - SupervisionMaterialParallelTestingDetail::create([ - 'material_parallel_testing_id' => $params['id'], - 'material_entry_detail_id' => $v['material_entry_detail_id'], - 'num' => $v['num'] - ]); - } - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除工程监理--材料平行检验 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/29 15:00 - */ - public static function delete(array $params): bool - { - $detail = SupervisionMaterialParallelTestingDetail::where('material_parallel_testing_id',$params['id'])->findOrEmpty(); - if(!$detail->isEmpty()){ - self::setError('当前数据下存在材料信息内容,请先删除材料信息内容'); - return false; - } - return SupervisionMaterialParallelTesting::destroy($params['id']); - } - - - /** - * @notes 获取工程监理--材料平行检验详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/02/29 15:00 - */ - public static function detail($params): array - { - $data = SupervisionMaterialParallelTesting::withoutField('update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $material_entry = SupervisionMaterialEntry::field('theme,company_id,enter_time')->where('id',$data['material_entry_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$material_entry['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - $data['material_entry_name'] = $material_entry['theme']; - $data['enter_time'] = $material_entry['enter_time']; - return $data->toArray(); - } -} \ No newline at end of file + + namespace app\adminapi\logic\supervision_work; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionMaterialEntry; + use app\common\model\supervision_work\SupervisionMaterialParallelTesting; + use app\common\model\supervision_work\SupervisionMaterialParallelTestingDetail; + use think\facade\Db; + + + /** + * 工程监理--材料平行检验逻辑 + * Class SupervisionMaterialParallelTestingLogic + * @package app\adminapi\logic\supervision_work + */ + class SupervisionMaterialParallelTestingLogic extends BaseLogic + { + + + /** + * @notes 添加工程监理--材料平行检验 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/29 15:00 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + $res = SupervisionMaterialParallelTesting::create([ + 'project_id' => $params['project_id'], + 'material_entry_id' => $params['material_entry_id'], + 'code' => data_unique_code('CLPXJY'), + 'inspector' => $params['inspector'], + 'inspection_date' => !empty($params['inspection_date']) ? strtotime($params['inspection_date']) : 0, + 'remark' => $params['remark'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + if (!empty($params['detail'])) { + foreach ($params['detail'] as $v) { + SupervisionMaterialParallelTestingDetail::create([ + 'material_parallel_testing_id' => $res->id, + 'material_entry_detail_id' => $v['material_entry_detail_id'], + 'num' => $v['num'] + ]); + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 编辑工程监理--材料平行检验 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/29 15:00 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + SupervisionMaterialParallelTesting::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'material_entry_id' => $params['material_entry_id'], + 'inspector' => $params['inspector'], + 'inspection_date' => !empty($params['inspection_date']) ? strtotime($params['inspection_date']) : 0, + 'remark' => $params['remark'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + 'update_time' => time() + ]); + if (!empty($params['detail'])) { + foreach ($params['detail'] as $v) { + if (!empty($v['id'])) { + SupervisionMaterialParallelTestingDetail::where('id', $v['id'])->update([ + 'material_parallel_testing_id' => $params['id'], + 'material_entry_detail_id' => $v['material_entry_detail_id'], + 'num' => $v['num'], + 'update_time' => time() + ]); + } else { + SupervisionMaterialParallelTestingDetail::create([ + 'material_parallel_testing_id' => $params['id'], + 'material_entry_detail_id' => $v['material_entry_detail_id'], + 'num' => $v['num'] + ]); + } + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工程监理--材料平行检验 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/29 15:00 + */ + public static function delete(array $params): bool + { + $detail = SupervisionMaterialParallelTestingDetail::where('material_parallel_testing_id', $params['id'])->findOrEmpty(); + if (!$detail->isEmpty()) { + self::setError('当前数据下存在材料信息内容,请先删除材料信息内容'); + return false; + } + return SupervisionMaterialParallelTesting::destroy($params['id']); + } + + + /** + * @notes 获取工程监理--材料平行检验详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/02/29 15:00 + */ + public static function detail($params): array + { + $data = SupervisionMaterialParallelTesting::withoutField('update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $material_entry = SupervisionMaterialEntry::field('theme,company_id,enter_time')->where('id', $data['material_entry_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $material_entry['company_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['inspector'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['material_entry_name'] = $material_entry['theme']; + $data['enter_time'] = $material_entry['enter_time']; + $data['inspector_name'] = $admin?->name; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_work/SupervisionMeetingMinutesLogic.php b/app/adminapi/logic/supervision_work/SupervisionMeetingMinutesLogic.php index 5834f7ba1..e39a153a2 100644 --- a/app/adminapi/logic/supervision_work/SupervisionMeetingMinutesLogic.php +++ b/app/adminapi/logic/supervision_work/SupervisionMeetingMinutesLogic.php @@ -11,121 +11,126 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_work; - - -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionMeetingMinutes; -use app\common\logic\BaseLogic; -use think\facade\Db; - - -/** - * 工程监理--会议纪要逻辑 - * Class SupervisionMeetingMinutesLogic - * @package app\adminapi\logic\supervision_work - */ -class SupervisionMeetingMinutesLogic extends BaseLogic -{ - - - /** - * @notes 添加工程监理--会议纪要 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 14:31 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - SupervisionMeetingMinutes::create([ - 'project_id' => $params['project_id'], - 'theme' => $params['theme'], - 'type' => $params['type'], - 'time' => !empty($params['time']) ? strtotime($params['time']) : 0, - 'emcee' => $params['emcee'], - 'recorder' => $params['recorder'], - 'location' => $params['location'], - 'attendees' => $params['attendees'], - 'content' => $params['content'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - ]); - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑工程监理--会议纪要 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 14:31 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - SupervisionMeetingMinutes::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'theme' => $params['theme'], - 'type' => $params['type'], - 'time' => !empty($params['time']) ? strtotime($params['time']) : 0, - 'emcee' => $params['emcee'], - 'recorder' => $params['recorder'], - 'location' => $params['location'], - 'attendees' => $params['attendees'], - 'content' => $params['content'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - 'update_time' => time() - ]); - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除工程监理--会议纪要 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 14:31 - */ - public static function delete(array $params): bool - { - return SupervisionMeetingMinutes::destroy($params['id']); - } - - - /** - * @notes 获取工程监理--会议纪要详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/03/01 14:31 - */ - public static function detail($params): array - { - $data = SupervisionMeetingMinutes::withoutField('update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - return $data->toArray(); - } -} \ No newline at end of file + + namespace app\adminapi\logic\supervision_work; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionMeetingMinutes; + use think\facade\Db; + + + /** + * 工程监理--会议纪要逻辑 + * Class SupervisionMeetingMinutesLogic + * @package app\adminapi\logic\supervision_work + */ + class SupervisionMeetingMinutesLogic extends BaseLogic + { + + + /** + * @notes 添加工程监理--会议纪要 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 14:31 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + SupervisionMeetingMinutes::create([ + 'project_id' => $params['project_id'], + 'theme' => $params['theme'], + 'type' => $params['type'], + 'time' => !empty($params['time']) ? strtotime($params['time']) : 0, + 'emcee' => $params['emcee'], + 'recorder' => $params['recorder'], + 'location' => $params['location'], + 'attendees' => $params['attendees'], + 'content' => $params['content'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 编辑工程监理--会议纪要 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 14:31 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + SupervisionMeetingMinutes::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'theme' => $params['theme'], + 'type' => $params['type'], + 'time' => !empty($params['time']) ? strtotime($params['time']) : 0, + 'emcee' => $params['emcee'], + 'recorder' => $params['recorder'], + 'location' => $params['location'], + 'attendees' => $params['attendees'], + 'content' => $params['content'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + 'update_time' => time() + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工程监理--会议纪要 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 14:31 + */ + public static function delete(array $params): bool + { + return SupervisionMeetingMinutes::destroy($params['id']); + } + + + /** + * @notes 获取工程监理--会议纪要详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/03/01 14:31 + */ + public static function detail($params): array + { + $data = SupervisionMeetingMinutes::withoutField('update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $admin = Admin::where('id', 'in', [$data['emcee'], $data['recorder']])->column('name', 'id'); + $attendees = Admin::where('id', 'in', $data['attendees'])->column('name'); + $data['project_name'] = $project['project_name']; + $data['emcee_name'] = $admin[$data['emcee']] ?? ''; + $data['recorder_name'] = $admin[$data['recorder']] ?? ''; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_work/SupervisionNoticeLogic.php b/app/adminapi/logic/supervision_work/SupervisionNoticeLogic.php index 8e46261f4..8891eda1e 100644 --- a/app/adminapi/logic/supervision_work/SupervisionNoticeLogic.php +++ b/app/adminapi/logic/supervision_work/SupervisionNoticeLogic.php @@ -11,178 +11,182 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_work; - - -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionNotice; -use app\common\logic\BaseLogic; -use app\common\model\supervision_work\SupervisionNoticeProblem; -use think\facade\Db; - - -/** - * 工程监理--监理通知单逻辑 - * Class SupervisionNoticeLogic - * @package app\adminapi\logic\supervision_work - */ -class SupervisionNoticeLogic extends BaseLogic -{ - - - /** - * @notes 添加工程监理--监理通知单 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 09:20 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - $res = SupervisionNotice::create([ - 'project_id' => $params['project_id'], - 'code' => data_unique_code('JLTZD'), - 'reply_date' => !empty($params['reply_date']) ? strtotime($params['reply_date']) : 0, - 'company_id' => $params['company_id'], - 'notify_user' => $params['notify_user'], - 'issue_date' => !empty($params['issue_date']) ? strtotime($params['issue_date']) : 0, - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - ]); - if(!empty($params['problem'])){ - foreach($params['problem'] as $v){ - SupervisionNoticeProblem::create([ - 'notice_id' => $res->id, - 'problem_description' => $v['problem_description'], - 'content_description' => $v['content_description'], - 'demand_description' => $v['demand_description'], - ]); - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑工程监理--监理通知单 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 09:20 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - SupervisionNotice::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'reply_date' => !empty($params['reply_date']) ? strtotime($params['reply_date']) : 0, - 'company_id' => $params['company_id'], - 'notify_user' => $params['notify_user'], - 'issue_date' => !empty($params['issue_date']) ? strtotime($params['issue_date']) : 0, - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - 'update_time' => time(), - ]); - if(!empty($params['problem'])){ - foreach($params['problem'] as $v){ - if(!empty($v['id'])){ - SupervisionNoticeProblem::where('id',$v['id'])->update([ - 'notice_id' => $params['id'], - 'problem_description' => $v['problem_description'], - 'content_description' => $v['content_description'], - 'demand_description' => $v['demand_description'], - ]); - }else{ - SupervisionNoticeProblem::create([ - 'notice_id' => $params['id'], - 'problem_description' => $v['problem_description'], - 'content_description' => $v['content_description'], - 'demand_description' => $v['demand_description'], - ]); - } - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } + + namespace app\adminapi\logic\supervision_work; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionNotice; + use app\common\model\supervision_work\SupervisionNoticeProblem; + use think\facade\Db; + /** - * @notes 回复工程监理--监理通知单 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 09:20 + * 工程监理--监理通知单逻辑 + * Class SupervisionNoticeLogic + * @package app\adminapi\logic\supervision_work */ - public static function reply(array $params): bool + class SupervisionNoticeLogic extends BaseLogic { - Db::startTrans(); - try { - SupervisionNotice::where('id', $params['id'])->update([ - 'rectification_reply_time' => !empty($params['rectification_reply_time']) ? strtotime($params['rectification_reply_time']) : 0, - 'rectification_reply_user' => $params['rectification_reply_user'], - 'rectification_reply_opinions' => $params['rectification_reply_opinions'], - 'rectification_reply_annex' => $params['rectification_reply_annex'] ? json_encode($params['rectification_reply_annex']) : null, - ]); - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; + + + /** + * @notes 添加工程监理--监理通知单 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 09:20 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + $res = SupervisionNotice::create([ + 'project_id' => $params['project_id'], + 'code' => data_unique_code('JLTZD'), + 'reply_date' => !empty($params['reply_date']) ? strtotime($params['reply_date']) : 0, + 'company_id' => $params['company_id'], + 'notify_user' => $params['notify_user'], + 'issue_date' => !empty($params['issue_date']) ? strtotime($params['issue_date']) : 0, + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + if (!empty($params['problem'])) { + foreach ($params['problem'] as $v) { + SupervisionNoticeProblem::create([ + 'notice_id' => $res->id, + 'problem_description' => $v['problem_description'], + 'content_description' => $v['content_description'], + 'demand_description' => $v['demand_description'], + ]); + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } } - } - - - /** - * @notes 删除工程监理--监理通知单 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 09:20 - */ - public static function delete(array $params): bool - { - $problem = SupervisionNoticeProblem::where('notice_id','in',$params['id'])->findOrEmpty(); - if(!$problem->isEmpty()){ - self::setError('该数据下存在通知问题数据,请先删除通知问题数据'); - return false; + + + /** + * @notes 编辑工程监理--监理通知单 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 09:20 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + SupervisionNotice::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'reply_date' => !empty($params['reply_date']) ? strtotime($params['reply_date']) : 0, + 'company_id' => $params['company_id'], + 'notify_user' => $params['notify_user'], + 'issue_date' => !empty($params['issue_date']) ? strtotime($params['issue_date']) : 0, + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + 'update_time' => time(), + ]); + if (!empty($params['problem'])) { + foreach ($params['problem'] as $v) { + if (!empty($v['id'])) { + SupervisionNoticeProblem::where('id', $v['id'])->update([ + 'notice_id' => $params['id'], + 'problem_description' => $v['problem_description'], + 'content_description' => $v['content_description'], + 'demand_description' => $v['demand_description'], + ]); + } else { + SupervisionNoticeProblem::create([ + 'notice_id' => $params['id'], + 'problem_description' => $v['problem_description'], + 'content_description' => $v['content_description'], + 'demand_description' => $v['demand_description'], + ]); + } + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } } - return SupervisionNotice::destroy($params['id']); - } - - - /** - * @notes 获取工程监理--监理通知单详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/03/01 09:20 - */ - public static function detail($params): array - { - $data = SupervisionNotice::withoutField('update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - return $data->toArray(); - } -} \ No newline at end of file + + /** + * @notes 回复工程监理--监理通知单 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 09:20 + */ + public static function reply(array $params): bool + { + Db::startTrans(); + try { + SupervisionNotice::where('id', $params['id'])->update([ + 'rectification_reply_time' => !empty($params['rectification_reply_time']) ? strtotime($params['rectification_reply_time']) : 0, + 'rectification_reply_user' => $params['rectification_reply_user'], + 'rectification_reply_opinions' => $params['rectification_reply_opinions'], + 'rectification_reply_annex' => $params['rectification_reply_annex'] ? json_encode($params['rectification_reply_annex']) : null, + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工程监理--监理通知单 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 09:20 + */ + public static function delete(array $params): bool + { + $problem = SupervisionNoticeProblem::where('notice_id', 'in', $params['id'])->findOrEmpty(); + if (!$problem->isEmpty()) { + self::setError('该数据下存在通知问题数据,请先删除通知问题数据'); + return false; + } + return SupervisionNotice::destroy($params['id']); + } + + + /** + * @notes 获取工程监理--监理通知单详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/03/01 09:20 + */ + public static function detail($params): array + { + $data = SupervisionNotice::withoutField('update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $admin = Admin::where('id', 'in', [$data['notify_user'], $data['rectification_reply_user']])->column('name', 'id'); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['notify_user_name'] = $admin[$data['notify_user']] ?? ''; + $data['rectification_reply_user_name'] = $admin[$data['rectification_reply_user']] ?? ''; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_work/SupervisionSideStationLogic.php b/app/adminapi/logic/supervision_work/SupervisionSideStationLogic.php index fe1173a3b..e4da046d8 100644 --- a/app/adminapi/logic/supervision_work/SupervisionSideStationLogic.php +++ b/app/adminapi/logic/supervision_work/SupervisionSideStationLogic.php @@ -11,163 +11,75 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_work; - - -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionCheckItem; -use app\common\model\supervision_work\SupervisionProblem; -use app\common\model\supervision_work\SupervisionSideStation; -use app\common\logic\BaseLogic; -use app\common\model\supervision_work\SupervisionSideStationResult; -use think\facade\Db; - - -/** - * 工程监理--旁站登记逻辑 - * Class SupervisionSideStationLogic - * @package app\adminapi\logic\supervision_work - */ -class SupervisionSideStationLogic extends BaseLogic -{ - - - /** - * @notes 添加工程监理--旁站登记 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/27 13:58 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - $res = SupervisionSideStation::create([ - 'project_id' => $params['project_id'], - 'side_station_code' => data_unique_code('PZ'), - 'side_station_type' => $params['side_station_type'], - 'check_item_id' => $params['check_item_id'], - 'position' => $params['position'], - 'company_id' => $params['company_id'], - 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, - 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, - 'workers' => $params['workers'], - 'managers' => $params['managers'], - 'situation' => $params['situation'], - 'side_station_result' => $params['side_station_result'], - 'side_station_user' => $params['side_station_user'], - 'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - ]); - if(!empty($params['side_result'])){ - foreach($params['side_result'] as $v){ - SupervisionSideStationResult::create([ - 'side_station_id' => $res->id, - 'check_type' => $v['check_type'], - 'check_content' => $v['check_content'], - 'must_check' => $v['must_check'], - 'check_result' => $v['check_result'] - ]); - } - } - if(!empty($params['side_problem'])){ - foreach($params['side_problem'] as $v){ - SupervisionProblem::create([ - 'data_id' => $res->id, - 'data_type' => 2, - 'problem_cate' => $v['problem_cate'], - 'problem_description' => $v['problem_description'], - 'problem_name' => $v['problem_name'], - 'create_user' => $params['create_user'] - ]); - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑工程监理--旁站登记 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/27 13:58 - */ - public static function edit(array $params): bool - { - $data = SupervisionSideStation::field('check_item_detail_ids')->where('id',$params['id'])->findOrEmpty(); - Db::startTrans(); - try { - SupervisionSideStation::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'side_station_type' => $params['side_station_type'], - 'check_item_id' => $params['check_item_id'], - 'position' => $params['position'], - 'company_id' => $params['company_id'], - 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, - 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, - 'workers' => $params['workers'], - 'managers' => $params['managers'], - 'situation' => $params['situation'], - 'side_station_result' => $params['side_station_result'], - 'side_station_user' => $params['side_station_user'], - 'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - 'update_time' => time(), - ]); - if(json_encode($data['check_item_detail_ids']) != json_encode($params['check_item_detail_ids'])){ - $side_result_ids = SupervisionSideStationResult::where('side_station_id',$params['id'])->column('id'); - SupervisionSideStationResult::destroy($side_result_ids); - } - if(!empty($params['side_result'])){ - foreach($params['side_result'] as $v){ - if(!empty($v['id'])){ - SupervisionSideStationResult::where('id',$v['id'])->update([ - 'side_station_id' => $params['id'], - 'check_type' => $v['check_type'], - 'check_content' => $v['check_content'], - 'must_check' => $v['must_check'], - 'check_result' => $v['check_result'], - 'update_time' => time(), - ]); - }else{ + + namespace app\adminapi\logic\supervision_work; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionCheckItem; + use app\common\model\supervision_work\SupervisionProblem; + use app\common\model\supervision_work\SupervisionSideStation; + use app\common\model\supervision_work\SupervisionSideStationResult; + use think\facade\Db; + + + /** + * 工程监理--旁站登记逻辑 + * Class SupervisionSideStationLogic + * @package app\adminapi\logic\supervision_work + */ + class SupervisionSideStationLogic extends BaseLogic + { + + + /** + * @notes 添加工程监理--旁站登记 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/27 13:58 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + $res = SupervisionSideStation::create([ + 'project_id' => $params['project_id'], + 'side_station_code' => data_unique_code('PZ'), + 'side_station_type' => $params['side_station_type'], + 'check_item_id' => $params['check_item_id'], + 'position' => $params['position'], + 'company_id' => $params['company_id'], + 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, + 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, + 'workers' => $params['workers'], + 'managers' => $params['managers'], + 'situation' => $params['situation'], + 'side_station_result' => $params['side_station_result'], + 'side_station_user' => $params['side_station_user'], + 'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + if (!empty($params['side_result'])) { + foreach ($params['side_result'] as $v) { SupervisionSideStationResult::create([ - 'side_station_id' => $params['id'], + 'side_station_id' => $res->id, 'check_type' => $v['check_type'], 'check_content' => $v['check_content'], 'must_check' => $v['must_check'], 'check_result' => $v['check_result'] ]); } - } - } - if(!empty($params['side_problem'])){ - foreach($params['side_problem'] as $v){ - if(!empty($v['id'])){ - SupervisionProblem::where('id',$v['id'])->update([ - 'data_id' => $params['id'], - 'data_type' => 2, - 'problem_cate' => $v['problem_cate'], - 'problem_description' => $v['problem_description'], - 'problem_name' => $v['problem_name'], - 'update_time' => time(), - ]); - }else{ + } + if (!empty($params['side_problem'])) { + foreach ($params['side_problem'] as $v) { SupervisionProblem::create([ - 'data_id' => $params['id'], + 'data_id' => $res->id, 'data_type' => 2, 'problem_cate' => $v['problem_cate'], 'problem_description' => $v['problem_description'], @@ -175,61 +87,152 @@ class SupervisionSideStationLogic extends BaseLogic 'create_user' => $params['create_user'] ]); } - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除工程监理--旁站登记 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/27 13:58 - */ - public static function delete(array $params): bool - { - $side_station_result = SupervisionSideStationResult::where('side_station_id','in',$params['id'])->findOrEmpty(); - if(!$side_station_result->isEmpty()){ - self::setError('该旁站内容下存在旁站结果数据,请先删除旁站结果数据'); - return false; + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } } - $side_station_problem = SupervisionProblem::where('data_id','in',$params['id'])->where('data_type',2)->findOrEmpty(); - if(!$side_station_problem->isEmpty()){ - self::setError('该旁站内容下存在旁站问题数据,请先删除旁站问题数据'); - return false; - } - return SupervisionSideStation::destroy($params['id']); - } - - - /** - * @notes 获取工程监理--旁站登记详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/02/27 13:58 - */ - public static function detail($params): array - { - $data = SupervisionSideStation::withoutField('update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $check_item_detail = SupervisionCheckItem::where('id','in',$data['check_item_detail_ids'])->column('node_name'); - $data['project_name'] = $project['project_name']; - $data['check_item_name'] = $check_item['node_name']; - $data['company_name'] = $company['unit_name']; - $data['check_item_detail_name'] = implode(',',$check_item_detail); - $data['side_station_type_text'] = $data->side_station_type_text; - $data['side_station_result_text'] = $data->side_station_result_text; - return $data->toArray(); - } -} \ No newline at end of file + + + /** + * @notes 编辑工程监理--旁站登记 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/27 13:58 + */ + public static function edit(array $params): bool + { + $data = SupervisionSideStation::field('check_item_detail_ids')->where('id', $params['id'])->findOrEmpty(); + Db::startTrans(); + try { + SupervisionSideStation::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'side_station_type' => $params['side_station_type'], + 'check_item_id' => $params['check_item_id'], + 'position' => $params['position'], + 'company_id' => $params['company_id'], + 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, + 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, + 'workers' => $params['workers'], + 'managers' => $params['managers'], + 'situation' => $params['situation'], + 'side_station_result' => $params['side_station_result'], + 'side_station_user' => $params['side_station_user'], + 'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + 'update_time' => time(), + ]); + if (json_encode($data['check_item_detail_ids']) != json_encode($params['check_item_detail_ids'])) { + $side_result_ids = SupervisionSideStationResult::where('side_station_id', $params['id'])->column('id'); + SupervisionSideStationResult::destroy($side_result_ids); + } + if (!empty($params['side_result'])) { + foreach ($params['side_result'] as $v) { + if (!empty($v['id'])) { + SupervisionSideStationResult::where('id', $v['id'])->update([ + 'side_station_id' => $params['id'], + 'check_type' => $v['check_type'], + 'check_content' => $v['check_content'], + 'must_check' => $v['must_check'], + 'check_result' => $v['check_result'], + 'update_time' => time(), + ]); + } else { + SupervisionSideStationResult::create([ + 'side_station_id' => $params['id'], + 'check_type' => $v['check_type'], + 'check_content' => $v['check_content'], + 'must_check' => $v['must_check'], + 'check_result' => $v['check_result'] + ]); + } + } + } + if (!empty($params['side_problem'])) { + foreach ($params['side_problem'] as $v) { + if (!empty($v['id'])) { + SupervisionProblem::where('id', $v['id'])->update([ + 'data_id' => $params['id'], + 'data_type' => 2, + 'problem_cate' => $v['problem_cate'], + 'problem_description' => $v['problem_description'], + 'problem_name' => $v['problem_name'], + 'update_time' => time(), + ]); + } else { + SupervisionProblem::create([ + 'data_id' => $params['id'], + 'data_type' => 2, + 'problem_cate' => $v['problem_cate'], + 'problem_description' => $v['problem_description'], + 'problem_name' => $v['problem_name'], + 'create_user' => $params['create_user'] + ]); + } + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工程监理--旁站登记 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/27 13:58 + */ + public static function delete(array $params): bool + { + $side_station_result = SupervisionSideStationResult::where('side_station_id', 'in', $params['id'])->findOrEmpty(); + if (!$side_station_result->isEmpty()) { + self::setError('该旁站内容下存在旁站结果数据,请先删除旁站结果数据'); + return false; + } + $side_station_problem = SupervisionProblem::where('data_id', 'in', $params['id'])->where('data_type', 2)->findOrEmpty(); + if (!$side_station_problem->isEmpty()) { + self::setError('该旁站内容下存在旁站问题数据,请先删除旁站问题数据'); + return false; + } + return SupervisionSideStation::destroy($params['id']); + } + + + /** + * @notes 获取工程监理--旁站登记详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/02/27 13:58 + */ + public static function detail($params): array + { + $data = SupervisionSideStation::withoutField('update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $check_item = SupervisionCheckItem::field('node_name')->where('id', $data['check_item_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $check_item_detail = SupervisionCheckItem::where('id', 'in', $data['check_item_detail_ids'])->column('node_name'); + $admin = Admin::field('name')->where('id', $data['side_station_user'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['check_item_name'] = $check_item['node_name']; + $data['company_name'] = $company['unit_name']; + $data['check_item_detail_name'] = implode(',', $check_item_detail); + $data['side_station_type_text'] = $data->side_station_type_text; + $data['side_station_result_text'] = $data->side_station_result_text; + $data['side_station_user_name'] = $admin?->name; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_work/SupervisionTestBlocksSpecimensLogic.php b/app/adminapi/logic/supervision_work/SupervisionTestBlocksSpecimensLogic.php index 67c067065..0814b88b6 100644 --- a/app/adminapi/logic/supervision_work/SupervisionTestBlocksSpecimensLogic.php +++ b/app/adminapi/logic/supervision_work/SupervisionTestBlocksSpecimensLogic.php @@ -11,166 +11,169 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_work; - - -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionProblem; -use app\common\model\supervision_work\SupervisionTestBlocksSpecimens; -use app\common\logic\BaseLogic; -use think\facade\Db; - - -/** - * 工程监理--试块试件见证逻辑 - * Class SupervisionTestBlocksSpecimensLogic - * @package app\adminapi\logic\supervision_work - */ -class SupervisionTestBlocksSpecimensLogic extends BaseLogic -{ - - - /** - * @notes 添加工程监理--试块试件见证 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/29 14:02 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - $res = SupervisionTestBlocksSpecimens::create([ - 'project_id' => $params['project_id'], - 'test_type' => $params['test_type'], - 'code' => data_unique_code('SKSJJZ'), - 'witness' => $params['witness'], - 'test_site' => $params['test_site'], - 'company_id' => $params['company_id'], - 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0, - 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0, - 'test_result' => $params['test_result'], - 'remark' => $params['remark'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - ]); - if(!empty($params['problem'])){ - foreach($params['problem'] as $v){ - SupervisionProblem::create([ - 'data_id' => $res->id, - 'data_type' => 6, - 'problem_cate' => $v['problem_cate'], - 'problem_description' => $v['problem_description'], - 'problem_name' => $v['problem_name'], - 'create_user' => $params['create_user'], - ]); - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑工程监理--试块试件见证 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/29 14:02 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - SupervisionTestBlocksSpecimens::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'test_type' => $params['test_type'], - 'witness' => $params['witness'], - 'test_site' => $params['test_site'], - 'company_id' => $params['company_id'], - 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0, - 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0, - 'test_result' => $params['test_result'], - 'remark' => $params['remark'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - ]); - if(!empty($params['problem'])){ - foreach($params['problem'] as $v){ - if(!empty($v['id'])){ - SupervisionProblem::where('id',$v['id'])->update([ - 'data_id' => $params['id'], - 'data_type' => 6, - 'problem_cate' => $v['problem_cate'], - 'problem_description' => $v['problem_description'], - 'problem_name' => $v['problem_name'], - 'update_time' => time(), - ]); - }else{ - SupervisionProblem::create([ - 'data_id' => $params['id'], - 'data_type' => 6, - 'problem_cate' => $v['problem_cate'], - 'problem_description' => $v['problem_description'], - 'problem_name' => $v['problem_name'], - 'create_user' => $params['create_user'], - ]); - } - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除工程监理--试块试件见证 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/29 14:02 - */ - public static function delete(array $params): bool - { - $problem = SupervisionProblem::where('data_id','in',$params['id'])->where('data_type',6)->findOrEmpty(); - if(!$problem->isEmpty()){ - self::setError('该内容下存在试块试件见证问题数据,请先删除试块试件见证问题数据'); - return false; - } - return SupervisionTestBlocksSpecimens::destroy($params['id']); - } - - - /** - * @notes 获取工程监理--试块试件见证详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/02/29 14:02 - */ - public static function detail($params): array - { - $data = SupervisionTestBlocksSpecimens::withoutField('update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - $data['test_result_text'] = $data->test_result_text; - return $data->toArray(); - } -} \ No newline at end of file + + namespace app\adminapi\logic\supervision_work; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionProblem; + use app\common\model\supervision_work\SupervisionTestBlocksSpecimens; + use think\facade\Db; + + + /** + * 工程监理--试块试件见证逻辑 + * Class SupervisionTestBlocksSpecimensLogic + * @package app\adminapi\logic\supervision_work + */ + class SupervisionTestBlocksSpecimensLogic extends BaseLogic + { + + + /** + * @notes 添加工程监理--试块试件见证 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/29 14:02 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + $res = SupervisionTestBlocksSpecimens::create([ + 'project_id' => $params['project_id'], + 'test_type' => $params['test_type'], + 'code' => data_unique_code('SKSJJZ'), + 'witness' => $params['witness'], + 'test_site' => $params['test_site'], + 'company_id' => $params['company_id'], + 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0, + 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0, + 'test_result' => $params['test_result'], + 'remark' => $params['remark'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + if (!empty($params['problem'])) { + foreach ($params['problem'] as $v) { + SupervisionProblem::create([ + 'data_id' => $res->id, + 'data_type' => 6, + 'problem_cate' => $v['problem_cate'], + 'problem_description' => $v['problem_description'], + 'problem_name' => $v['problem_name'], + 'create_user' => $params['create_user'], + ]); + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 编辑工程监理--试块试件见证 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/29 14:02 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + SupervisionTestBlocksSpecimens::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'test_type' => $params['test_type'], + 'witness' => $params['witness'], + 'test_site' => $params['test_site'], + 'company_id' => $params['company_id'], + 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0, + 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0, + 'test_result' => $params['test_result'], + 'remark' => $params['remark'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + if (!empty($params['problem'])) { + foreach ($params['problem'] as $v) { + if (!empty($v['id'])) { + SupervisionProblem::where('id', $v['id'])->update([ + 'data_id' => $params['id'], + 'data_type' => 6, + 'problem_cate' => $v['problem_cate'], + 'problem_description' => $v['problem_description'], + 'problem_name' => $v['problem_name'], + 'update_time' => time(), + ]); + } else { + SupervisionProblem::create([ + 'data_id' => $params['id'], + 'data_type' => 6, + 'problem_cate' => $v['problem_cate'], + 'problem_description' => $v['problem_description'], + 'problem_name' => $v['problem_name'], + 'create_user' => $params['create_user'], + ]); + } + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工程监理--试块试件见证 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/29 14:02 + */ + public static function delete(array $params): bool + { + $problem = SupervisionProblem::where('data_id', 'in', $params['id'])->where('data_type', 6)->findOrEmpty(); + if (!$problem->isEmpty()) { + self::setError('该内容下存在试块试件见证问题数据,请先删除试块试件见证问题数据'); + return false; + } + return SupervisionTestBlocksSpecimens::destroy($params['id']); + } + + + /** + * @notes 获取工程监理--试块试件见证详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/02/29 14:02 + */ + public static function detail($params): array + { + $data = SupervisionTestBlocksSpecimens::withoutField('update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['witness'])->findOrEmpty(); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['test_result_text'] = $data->test_result_text; + $data['witness_name'] = $admin?->name; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_work/SupervisionWitnessSamplingLogic.php b/app/adminapi/logic/supervision_work/SupervisionWitnessSamplingLogic.php index cf6adbdb4..36d99abdf 100644 --- a/app/adminapi/logic/supervision_work/SupervisionWitnessSamplingLogic.php +++ b/app/adminapi/logic/supervision_work/SupervisionWitnessSamplingLogic.php @@ -11,155 +11,159 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_work; - - -use app\common\model\supervision_project\SupervisionParticipatingUnits; -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionMaterialEntry; -use app\common\model\supervision_work\SupervisionWitnessSampling; -use app\common\logic\BaseLogic; -use app\common\model\supervision_work\SupervisionWitnessSamplingDetail; -use think\facade\Db; - - -/** - * 工程监理--见证取样逻辑 - * Class SupervisionWitnessSamplingLogic - * @package app\adminapi\logic\supervision_work - */ -class SupervisionWitnessSamplingLogic extends BaseLogic -{ - - - /** - * @notes 添加工程监理--见证取样 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/29 09:22 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - $res = SupervisionWitnessSampling::create([ - 'project_id' => $params['project_id'], - 'material_entry_id' => $params['material_entry_id'], - 'code' => data_unique_code('JZQY'), - 'sampling_date' => !empty($params['sampling_date']) ? strtotime($params['sampling_date']) : 0, - 'witness' => $params['witness'], - 'sampler' => $params['sampler'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - ]); - if(!empty($params['sampling_detail'])){ - foreach($params['sampling_detail'] as $v){ - SupervisionWitnessSamplingDetail::create([ - 'witness_sampling_id' => $res->id, - 'material_entry_detail_id' => $v['material_entry_detail_id'], - 'num' => $v['num'] - ]); - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑工程监理--见证取样 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/29 09:22 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - SupervisionWitnessSampling::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'material_entry_id' => $params['material_entry_id'], - 'sampling_date' => !empty($params['sampling_date']) ? strtotime($params['sampling_date']) : 0, - 'witness' => $params['witness'], - 'sampler' => $params['sampler'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'create_user' => $params['create_user'], - 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), - 'update_time' => time() - ]); - if(!empty($params['sampling_detail'])){ - foreach($params['sampling_detail'] as $v){ - if(!empty($v['id'])){ - SupervisionWitnessSamplingDetail::where('id',$v['id'])->update([ - 'witness_sampling_id' => $params['id'], - 'material_entry_detail_id' => $v['material_entry_detail_id'], - 'num' => $v['num'], - 'update_time' => time() - ]); - }else{ + + namespace app\adminapi\logic\supervision_work; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionParticipatingUnits; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionMaterialEntry; + use app\common\model\supervision_work\SupervisionWitnessSampling; + use app\common\model\supervision_work\SupervisionWitnessSamplingDetail; + use think\facade\Db; + + + /** + * 工程监理--见证取样逻辑 + * Class SupervisionWitnessSamplingLogic + * @package app\adminapi\logic\supervision_work + */ + class SupervisionWitnessSamplingLogic extends BaseLogic + { + + + /** + * @notes 添加工程监理--见证取样 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/29 09:22 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + $res = SupervisionWitnessSampling::create([ + 'project_id' => $params['project_id'], + 'material_entry_id' => $params['material_entry_id'], + 'code' => data_unique_code('JZQY'), + 'sampling_date' => !empty($params['sampling_date']) ? strtotime($params['sampling_date']) : 0, + 'witness' => $params['witness'], + 'sampler' => $params['sampler'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + if (!empty($params['sampling_detail'])) { + foreach ($params['sampling_detail'] as $v) { SupervisionWitnessSamplingDetail::create([ - 'witness_sampling_id' => $params['id'], + 'witness_sampling_id' => $res->id, 'material_entry_detail_id' => $v['material_entry_detail_id'], 'num' => $v['num'] ]); } - - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除工程监理--见证取样 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/29 09:22 - */ - public static function delete(array $params): bool - { - $witness_sampling_detail = SupervisionWitnessSamplingDetail::where('witness_sampling_id','in',$params['id'])->findOrEmpty(); - if(!$witness_sampling_detail->isEmpty()){ - self::setError('当前数据下存在材料信息内容,请先删除材料信息内容'); - return false; + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } } - return SupervisionWitnessSampling::destroy($params['id']); - } - - - /** - * @notes 获取工程监理--见证取样详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/02/29 09:22 - */ - public static function detail($params): array - { - $data = SupervisionWitnessSampling::withoutField('update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $material_entry = SupervisionMaterialEntry::field('theme,company_id,enter_time')->where('id',$data['material_entry_id'])->findOrEmpty(); - $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$material_entry['company_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - $data['company_name'] = $company['unit_name']; - $data['material_entry_name'] = $material_entry['theme']; - $data['enter_time'] = $material_entry['enter_time']; - return $data->toArray(); - } -} \ No newline at end of file + + + /** + * @notes 编辑工程监理--见证取样 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/29 09:22 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + SupervisionWitnessSampling::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'material_entry_id' => $params['material_entry_id'], + 'sampling_date' => !empty($params['sampling_date']) ? strtotime($params['sampling_date']) : 0, + 'witness' => $params['witness'], + 'sampler' => $params['sampler'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + 'update_time' => time() + ]); + if (!empty($params['sampling_detail'])) { + foreach ($params['sampling_detail'] as $v) { + if (!empty($v['id'])) { + SupervisionWitnessSamplingDetail::where('id', $v['id'])->update([ + 'witness_sampling_id' => $params['id'], + 'material_entry_detail_id' => $v['material_entry_detail_id'], + 'num' => $v['num'], + 'update_time' => time() + ]); + } else { + SupervisionWitnessSamplingDetail::create([ + 'witness_sampling_id' => $params['id'], + 'material_entry_detail_id' => $v['material_entry_detail_id'], + 'num' => $v['num'] + ]); + } + + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工程监理--见证取样 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/29 09:22 + */ + public static function delete(array $params): bool + { + $witness_sampling_detail = SupervisionWitnessSamplingDetail::where('witness_sampling_id', 'in', $params['id'])->findOrEmpty(); + if (!$witness_sampling_detail->isEmpty()) { + self::setError('当前数据下存在材料信息内容,请先删除材料信息内容'); + return false; + } + return SupervisionWitnessSampling::destroy($params['id']); + } + + + /** + * @notes 获取工程监理--见证取样详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/02/29 09:22 + */ + public static function detail($params): array + { + $data = SupervisionWitnessSampling::withoutField('update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $material_entry = SupervisionMaterialEntry::field('theme,company_id,enter_time')->where('id', $data['material_entry_id'])->findOrEmpty(); + $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $material_entry['company_id'])->findOrEmpty(); + $admin = Admin::where('id', 'in', [$data['witness'], $data['sampler']])->column('name', 'id'); + $data['project_name'] = $project['project_name']; + $data['company_name'] = $company['unit_name']; + $data['material_entry_name'] = $material_entry['theme']; + $data['enter_time'] = $material_entry['enter_time']; + $data['witness_name'] = $admin[$data['witness']] ?? ''; + $data['sampler_name'] = $admin[$data['sampler']] ?? ''; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_work/SupervisionWorkContactLogic.php b/app/adminapi/logic/supervision_work/SupervisionWorkContactLogic.php index 7e9fcf40d..00964651e 100644 --- a/app/adminapi/logic/supervision_work/SupervisionWorkContactLogic.php +++ b/app/adminapi/logic/supervision_work/SupervisionWorkContactLogic.php @@ -11,142 +11,146 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\supervision_work; - - -use app\common\model\supervision_project\SupervisionProject; -use app\common\model\supervision_work\SupervisionWorkContact; -use app\common\logic\BaseLogic; -use app\common\model\supervision_work\SupervisionWorkContactProblem; -use think\facade\Db; - - -/** - * 工程监理--监理工作联系单逻辑 - * Class SupervisionWorkContactLogic - * @package app\adminapi\logic\supervision_work - */ -class SupervisionWorkContactLogic extends BaseLogic -{ - - - /** - * @notes 添加工程监理--监理工作联系单 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 11:01 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - $res = SupervisionWorkContact::create([ - 'project_id' => $params['project_id'], - 'code' => data_unique_code('GZLXD'), - 'initiator' => $params['initiator'], - 'initiation_date' => !empty($params['initiation_date']) ? strtotime($params['initiation_date']) : 0, - 'theme' => $params['theme'], - 'copy_user' => $params['copy_user'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - ]); - if(!empty($params['problem'])){ - foreach($params['problem'] as $v){ - SupervisionWorkContactProblem::create([ - 'work_contact_id' => $res->id, - 'problem_name' => $v['problem_name'], - 'problem_description' => $v['problem_description'], - ]); - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑工程监理--监理工作联系单 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 11:01 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - SupervisionWorkContact::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'initiator' => $params['initiator'], - 'initiation_date' => !empty($params['initiation_date']) ? strtotime($params['initiation_date']) : 0, - 'theme' => $params['theme'], - 'copy_user' => $params['copy_user'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'update_time' => time() - ]); - if(!empty($params['problem'])){ - foreach($params['problem'] as $v){ - if(!empty($v['id'])){ - SupervisionWorkContactProblem::where('id',$v['id'])->update([ - 'work_contact_id' => $params['id'], - 'problem_name' => $v['problem_name'], - 'problem_description' => $v['problem_description'], - ]); - }else{ - SupervisionWorkContactProblem::create([ - 'work_contact_id' => $params['id'], - 'problem_name' => $v['problem_name'], - 'problem_description' => $v['problem_description'], - ]); - } - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除工程监理--监理工作联系单 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/03/01 11:01 - */ - public static function delete(array $params): bool - { - $problem = SupervisionWorkContactProblem::where('work_contact_id','in',$params['id'])->findOrEmpty(); - if(!$problem->isEmpty()){ - self::setError('该数据下存在通知问题数据,请先删除通知问题数据'); - return false; - } - return SupervisionWorkContact::destroy($params['id']); - } - - - /** - * @notes 获取工程监理--监理工作联系单详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/03/01 11:01 - */ - public static function detail($params): array - { - $data = SupervisionWorkContact::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']); - $project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); - $data['project_name'] = $project['project_name']; - return $data->toArray(); - } -} \ No newline at end of file + + namespace app\adminapi\logic\supervision_work; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\supervision_project\SupervisionProject; + use app\common\model\supervision_work\SupervisionWorkContact; + use app\common\model\supervision_work\SupervisionWorkContactProblem; + use think\facade\Db; + + + /** + * 工程监理--监理工作联系单逻辑 + * Class SupervisionWorkContactLogic + * @package app\adminapi\logic\supervision_work + */ + class SupervisionWorkContactLogic extends BaseLogic + { + + + /** + * @notes 添加工程监理--监理工作联系单 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 11:01 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + $res = SupervisionWorkContact::create([ + 'project_id' => $params['project_id'], + 'code' => data_unique_code('GZLXD'), + 'initiator' => $params['initiator'], + 'initiation_date' => !empty($params['initiation_date']) ? strtotime($params['initiation_date']) : 0, + 'theme' => $params['theme'], + 'copy_user' => $params['copy_user'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + ]); + if (!empty($params['problem'])) { + foreach ($params['problem'] as $v) { + SupervisionWorkContactProblem::create([ + 'work_contact_id' => $res->id, + 'problem_name' => $v['problem_name'], + 'problem_description' => $v['problem_description'], + ]); + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 编辑工程监理--监理工作联系单 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 11:01 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + SupervisionWorkContact::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'initiator' => $params['initiator'], + 'initiation_date' => !empty($params['initiation_date']) ? strtotime($params['initiation_date']) : 0, + 'theme' => $params['theme'], + 'copy_user' => $params['copy_user'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'update_time' => time() + ]); + if (!empty($params['problem'])) { + foreach ($params['problem'] as $v) { + if (!empty($v['id'])) { + SupervisionWorkContactProblem::where('id', $v['id'])->update([ + 'work_contact_id' => $params['id'], + 'problem_name' => $v['problem_name'], + 'problem_description' => $v['problem_description'], + ]); + } else { + SupervisionWorkContactProblem::create([ + 'work_contact_id' => $params['id'], + 'problem_name' => $v['problem_name'], + 'problem_description' => $v['problem_description'], + ]); + } + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工程监理--监理工作联系单 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/01 11:01 + */ + public static function delete(array $params): bool + { + $problem = SupervisionWorkContactProblem::where('work_contact_id', 'in', $params['id'])->findOrEmpty(); + if (!$problem->isEmpty()) { + self::setError('该数据下存在通知问题数据,请先删除通知问题数据'); + return false; + } + return SupervisionWorkContact::destroy($params['id']); + } + + + /** + * @notes 获取工程监理--监理工作联系单详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/03/01 11:01 + */ + public static function detail($params): array + { + $data = SupervisionWorkContact::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']); + $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty(); + $admin = Admin::where('id', 'in', [$data['initiator'], $data['copy_user']])->column('name', 'id'); + $data['project_name'] = $project['project_name']; + $data['initiator_name'] = $admin[$data['initiator']] ?? ''; + $data['copy_user_name'] = $admin[$data['copy_user']] ?? ''; + return $data->toArray(); + } + } \ No newline at end of file