$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' => $admin_id ]); 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' => $admin_id ]); } } 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,$admin_id): 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'], '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' => $admin_id ]); } } } 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',$params['id'])->findOrEmpty(); if(!$entry_detail->isEmpty()){ self::setError('该内容下存在设备信息数据,请先删除设备信息数据'); return false; } $entry_problem = SupervisionProblem::where('data_id',$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(); $create_user = Admin::field('name')->where('id',$data['create_user'])->findOrEmpty(); $data['project_name'] = $project['project_name']; $data['company_name'] = $company['unit_name']; $data['create_user_name'] = $create_user['name']; $data['enter_result_text'] = $data->enter_result_text; return $data->toArray(); } }