$params['org_id'], 'dept_id' => $params['dept_id'], 'project_id' => $params['project_id'], 'name' => $params['name'], 'type' => $params['type'], 'happen_time' => strtotime($params['happen_time']), 'device_accident' => $params['device_accident'], 'contractor_user' => $params['contractor_user'], 'our_company_user' => $params['our_company_user'], 'not_our_company_user' => $params['not_our_company_user'], 'content' => $params['content'], 'remark' => $params['remark'], 'file' => $params['file']? json_encode($params['file']) : null, 'add_user' => $admin_id, 'update_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 2023/12/19 14:28 */ public static function edit(array $params,$admin_id): bool { Db::startTrans(); try { SafetyAccident::where('id', $params['id'])->update([ 'org_id' => $params['org_id'], 'dept_id' => $params['dept_id'], 'project_id' => $params['project_id'], 'name' => $params['name'], 'type' => $params['type'], 'happen_time' => strtotime($params['happen_time']), 'device_accident' => $params['device_accident'], 'contractor_user' => $params['contractor_user'], 'our_company_user' => $params['our_company_user'], 'not_our_company_user' => $params['not_our_company_user'], 'content' => $params['content'], 'remark' => $params['remark'], 'file' => $params['file']? json_encode($params['file']) : null, 'update_user' => $admin_id, '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 2023/12/19 14:28 */ public static function delete(array $params): bool { return SafetyAccident::destroy($params['id']); } /** * @notes 获取安全事故详情 * @param $params * @return array * @author likeadmin * @date 2023/12/19 14:28 */ public static function detail($params): array { $data = SafetyAccident::field(['id','org_id','dept_id','project_id','name','type','happen_time','device_accident','contractor_user','our_company_user','not_our_company_user','content','remark','file','add_user','update_user','create_time','update_time'])->findOrEmpty($params['id'])->toArray(); $project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $org = Orgs::field('name')->where('id',$data['org_id'])->findOrEmpty(); $dept = Dept::field('name')->where('id',$data['dept_id'])->findOrEmpty(); $admin = Admin::where('id','in',[$data['add_user'],$data['update_user']])->column('name','id'); $data['org_name'] = $org['name']; $data['dept_name'] = $dept['name']; $data['project_name'] = $project['name']; $data['project_code'] = $project['project_code']; $data['add_user_name'] = $admin[$data['add_user']]; $data['update_user_name'] = $admin[$data['update_user']]; return $data; } }