$params['project_name'], 'project_code' => data_unique_code('XMZX'), 'industry' => $params['industry'], 'nature' => $params['nature'], 'company' => $params['company'] ?? '', 'build_area' => $params['build_area'], 'address' => $params['address'] ?? '', 'project_level' => $params['project_level'], 'total_investment' => $params['total_investment'], 'initiation_date' => !empty($params['initiation_date']) ? strtotime($params['initiation_date']) : 0, 'contract' => $params['contract'] ?? '', 'contract_amount' => $params['contract_amount'] ?? 0, 'contract_content' => $params['contract_content'] ?? '', 'project_overview' => $params['project_overview'] ?? '', 'consult_content' => $params['consult_content'] ?? '', 'remark' => $params['remark'] ?? '', 'consult_start_date' => !empty($params['consult_start_date']) ? strtotime($params['consult_start_date']) : 0, 'consult_end_date' => !empty($params['consult_end_date']) ? strtotime($params['consult_end_date']) : 0, 'engineering_status' => $params['engineering_status'], 'consult_type' => $params['consult_type'], 'telephone' => $params['telephone'] ?? '', 'consult_user' => $params['consult_user'] ?? '', 'supervision_department' => $params['supervision_department'] ?? '', 'implementation_department' => $params['implementation_department'] ?? '', 'project_department' => $params['project_department'] ?? '', 'project_manager' => $params['project_manager'] ?? '', 'part_a_unit' => $params['part_a_unit'] ?? '', 'project_archiving' => $params['project_archiving'] ? json_encode($params['project_archiving']) : null, 'archiving_directory' => $params['archiving_directory'] ?? '', '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/11 09:25 */ public static function edit(array $params): bool { Db::startTrans(); try { ConsultProject::where('id', $params['id'])->update([ 'project_name' => $params['project_name'], 'industry' => $params['industry'], 'nature' => $params['nature'], 'company' => $params['company'] ?? '', 'build_area' => $params['build_area'], 'address' => $params['address'] ?? '', 'project_level' => $params['project_level'], 'total_investment' => $params['total_investment'], 'initiation_date' => !empty($params['initiation_date']) ? strtotime($params['initiation_date']) : 0, 'contract' => $params['contract'] ?? '', 'contract_amount' => $params['contract_amount'] ?? 0, 'contract_content' => $params['contract_content'] ?? '', 'project_overview' => $params['project_overview'] ?? '', 'consult_content' => $params['consult_content'] ?? '', 'remark' => $params['remark'] ?? '', 'consult_start_date' => !empty($params['consult_start_date']) ? strtotime($params['consult_start_date']) : 0, 'consult_end_date' => !empty($params['consult_end_date']) ? strtotime($params['consult_end_date']) : 0, 'engineering_status' => $params['engineering_status'], 'consult_type' => $params['consult_type'], 'telephone' => $params['telephone'] ?? '', 'consult_user' => $params['consult_user'] ?? '', 'supervision_department' => $params['supervision_department'] ?? '', 'implementation_department' => $params['implementation_department'] ?? '', 'project_department' => $params['project_department'] ?? '', 'project_manager' => $params['project_manager'] ?? '', 'part_a_unit' => $params['part_a_unit'] ?? '', 'project_archiving' => $params['project_archiving'] ? json_encode($params['project_archiving']) : null, 'archiving_directory' => $params['archiving_directory'] ?? '', '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/11 09:25 */ public static function delete(array $params): bool { return ConsultProject::destroy($params['id']); } /** * @notes 获取基本信息详情 * @param $params * @return array * @author likeadmin * @date 2024/03/11 09:25 */ public static function detail($params): array { $data = ConsultProject::withoutField('update_time,delete_time')->findOrEmpty($params['id']); $data['industry_text'] = $data->industry_text; $data['nature_text'] = $data->nature_text; $data['build_area_text'] = $data->build_area_text; $data['project_level_text'] = $data->project_level_text; $data['engineering_status_text'] = $data->engineering_status_text; $data['consult_type_text'] = $data->consult_type_text; return $data->toArray(); } }