学习管理系统源代码v1.0

学习管理系统源代码v1.0
学习管理系统源代码v1.0

session_cache_limiter('none');

session_start();

//print_r($_SESSION);

$path = "../libraries/";

/** The configuration file.*/

require_once $path."configuration.php";

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

try {

$currentUser = EfrontUser :: checkUserAccess();

$smarty -> assign("T_CURRENT_USER", $currentUser);

} catch (Exception $e) {

if ($e -> getCode() == EfrontUserException :: USER_NOT_LOGGED_IN) {

setcookie('c_request', htmlspecialchars_decode(http_build_query($_GET)), time() + 300, false, false, false, true);

}

eF_redirect("index.php?ctg=expired");

exit;

}

if ($GLOBALS['currentTheme'] -> options['sidebar_interface']) {

header("location:".$_SESSION['s_type'].".php".($_SERVER['QUERY_STRING'] ? "?".$_SERVER['QUERY_STRING'] : ''));

//$smarty -> assign("T_SIDEBAR_URL", ""); // set an empty source for horizontal sidebars //$smarty -> assign("T_SIDEFRAME_WIDTH", 0);

}

$smarty -> assign("T_SIDEBAR_MODE", $GLOBALS['currentTheme'] -> options['sidebar_interface']); if ($GLOBALS['currentTheme'] -> options['sidebar_width']) {

$smarty -> assign("T_SIDEFRAME_WIDTH", $GLOBALS['currentTheme'] -> options['sidebar_width']); } else {

$smarty -> assign("T_SIDEFRAME_WIDTH", 175);

}

if (isset($_SESSION['previousSideUrl'])) {

$smarty -> assign("T_SIDEBAR_URL", $_SESSION['previousSideUrl']);

}

if (isset($_GET['dashboard']) && $_SESSION['s_type'] == "administrator") {

$smarty -> assign("T_MAIN_URL", $_SESSION['s_type'].".php?ctg=personal&user=". $_GET['dashboard']);

} elseif (isset($_GET['dashboard']) || $_GET['ctg'] == 'personal') {

$smarty -> assign("T_MAIN_URL", $_SESSION['s_type'].".php?ctg=personal");

} elseif (isset($_GET['ctg']) || $_GET['ctg'] == 'landing_page') {

$smarty -> assign("T_MAIN_URL", $_SESSION['s_type'].".php?ctg=landing_page");

} else {

if (isset($_SESSION['previousMainUrl'])) {

$smarty -> assign("T_MAIN_URL", $_SESSION['previousMainUrl']);

}

}

if (isset($_SESSION['s_type'])) {

$smarty -> display($_SESSION['s_type']."page.tpl");

} else {

eF_redirect("index.php");

}

?>

session_cache_limiter('none');

session_start();

$path = "../libraries/";

include_once $path."configuration.php";

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

try {

if (isset($_GET['login']) && $_SESSION['s_login']) {

$currentUser = EfrontUserFactory::factory($_SESSION['s_login']);

$additionalAccounts = unserialize($currentUser -> user['additional_accounts']);

if (in_array($_GET['login'], $additionalAccounts)) {

$newUser = EfrontUserFactory::factory($_GET['login']);

$lessonID = $_SESSION['s_lessons_ID'];

$courseID = $_SESSION['s_courses_ID'];

$currentUser -> logout(session_id());

$newUser -> login($newUser -> user['password'], true);

if ($_SESSION['s_type'] != 'administrator' && $lessonID) {

if ($courseID) {

setcookie('c_request',

$_SESSION['s_type'].'.php?lessons_ID='.$lessonID."&from_course=".$courseID, time() + 300, false, false, false, true);

} else {

setcookie('c_request', $_SESSION['s_type'].'.php?lessons_ID='.$lessonID, time() + 300);

}

}

unset($_SESSION['referer']);

$redirectPage = $GLOBALS['configuration']['login_redirect_page'];

if ($redirectPage == "user_dashboard" && $newUser -> user['user_type'] != "administrator") { echo 'userpage.php?ctg=personal';

}elseif (strpos($redirectPage, "module") !== false) {

echo 'userpage.php?ctg=landing_page';

} else {

echo 'userpage.php';

}

}

}

} catch (Exception $e) {

handleAjaxExceptions($e);

}

?>

session_cache_limiter('none');

session_start();

$path = "../libraries/";

include_once $path."configuration.php";

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

try {

$languages = EfrontSystem::getLanguages(true);

if (isset($_GET['lessons_ID']) && eF_checkParameter($_GET['lessons_ID'], 'id')) {

$lesson = new EfrontLesson($_GET['lessons_ID']);

$lessonInformation = $lesson -> getInformation();

//$lessonInformation['language'] = $languages[$lesson -> lesson['languages_NAME']];

if ($lessonInformation['professors']) {

foreach ($lessonInformation['professors'] as $value) {

$professorsString[] = formatLogin($value['login']);

}

$lessonInformation['professors'] = implode(", ", $professorsString);

}

$lesson -> lesson['price'] ? $priceString = formatPrice($lesson -> lesson['price'], array($lesson -> options['recurring'], $lesson -> options['recurring_duration']), true) : $priceString = false; $lessonInformation['price_string'] = $priceString;

// if (!$lessonInformation['price']) {

// unset($lessonInformation['price_string']);

// }

try {

if ($_GET['from_course'] && eF_checkParameter($_GET['from_course'], 'id')) {

$course = new EfrontCourse($_GET['from_course']);

$schedule = $course -> getLessonScheduleInCourse($lesson);

$lessonInformation['from_timestamp'] = $schedule['start_date'];

$lessonInformation['to_timestamp'] = $schedule['end_date'];

}

} catch (Exception $e) {};

if ($lesson -> lesson['course_only']) {

$lessonCourses = $lesson -> getCourses();

if (!empty($lessonCourses)) {

foreach ($lessonCourses as $value) {

$lessonInformation['lesson_courses'][] = $value['name'];

}

$lessonInformation['lesson_courses'] = implode(", ", $lessonInformation['lesson_courses']); }

}

foreach ($lessonInformation as $key => $value) {

if ($value) {

$value = str_replace ("\n","
", $value);

switch ($key) {

case 'language' : $GLOBALS['configuration']['onelanguage'] OR $tooltipInfo[] = '

'._LANGUAGE.": $languages[$value]
"; break;

case 'professors' : $tooltipInfo[] = '

'._PROFESSORS.": $value
"; break;

case 'content' : $tooltipInfo[] = '

'._CONTENTUNITS.": $value
"; break;

case 'tests' : $GLOBALS['configuration']['disable_tests'] != 1 ? $tooltipInfo[] = '

'._TESTS.": $value
" : null; break;

case 'projects' : $GLOBALS['configuration']['disable_projects'] != 1 ? $tooltipInfo[] = '

class = "infoEntry">'._PROJECTS.": $value

" : null; break;

case 'course_dependency' : $tooltipInfo[] = '

'._DEPENDSON.": $value
"; break;

case 'from_timestamp' : $tooltipInfo[] = '

'._AVAILABLEFROM.": ".formatTimestamp($value, 'time_nosec')."
";break;

case 'to_timestamp' : $tooltipInfo[] = '

'._AVAILABLEUNTIL.": ".formatTimestamp($value, 'time_nosec')."
"; break;

case 'general_description': $tooltipInfo[] = '

'._DESCRIPTION.": $value
"; break;

case 'assessment' : $tooltipInfo[] = '

'._ASSESSMENT.": $value
"; break;

case 'objectives' : $tooltipInfo[] = '

'._OBJECTIVES.": $value
"; break;

case 'lesson_topics' : $tooltipInfo[] = '

'._LESSONTOPICS.": $value
"; break;

case 'resources' : $tooltipInfo[] = '

'._RESOURCES.": $value
"; break;

case 'other_info' : $tooltipInfo[] = '

'._OTHERINFO.": $value
"; break;

case 'price_string' : !$lesson -> lesson['course_only'] ? $tooltipInfo[] = '

'._PRICE.": $value
" : null; break;

case 'lesson_courses' : $tooltipInfo[] = '

'._PARTOFCOURSES.": $value
"; break;

default: break;

}

}

}

if ($string = implode("", $tooltipInfo)) {

echo ''.$string.'';

} else {

echo _NODATAFOUND;

}

}

if (isset($_GET['courses_ID']) && eF_checkParameter($_GET['courses_ID'], 'id')) {

$course = new EfrontCourse($_GET['courses_ID']);

$courseInformation = $course -> getInformation();

if ($courseInformation['professors']) {

foreach ($courseInformation['professors'] as $value) {

$professorsString[] = formatLogin($value['login']);

}

$courseInformation['professors'] = implode(", ", $professorsString);

}

$course -> course['price'] ? $priceString = formatPrice($course -> course['price'], array($course -> options['recurring'], $course -> options['recurring_duration']), true) : $priceString = false; $courseInformation['price_string'] = $priceString;

foreach ($courseInformation as $key => $value) {

if ($value) {

$value = str_replace ("\n","
", $value);

switch ($key) {

case 'language' : $GLOBALS['configuration']['onelanguage'] OR $tooltipInfo[] = '

'._LANGUAGE.": $languages[$value]
"; break;

case 'professors' : $tooltipInfo[] = '

'._PROFESSORS.": $value
"; break;

case 'lessons_number' : $tooltipInfo[] = '

'._LESSONS.": $value
"; break;

case 'instances' : $tooltipInfo[] = '

'._COURSEINSTANCES.": $value
"; break;

case 'general_description': $tooltipInfo[] = '

'._DESCRIPTION.": $value
"; break;

case 'assessment' : $tooltipInfo[] = '

'._ASSESSMENT.": $value
"; break;

case 'objectives' : $tooltipInfo[] = '

'._OBJECTIVES.": $value
"; break;

case 'lesson_topics' : $tooltipInfo[] = '

'._COURSETOPICS.": $value
"; break;

case 'resources' : $tooltipInfo[] = '

'._RESOURCES.": $value
"; break;

case 'other_info' : $tooltipInfo[] = '

'._OTHERINFO.": $value
"; break;

case 'price_string' : $tooltipInfo[] = '

'._PRICE.": $value
"; break;

default: break;

}

}

}

if ($course -> course['depends_on']) {

try {

$dependsOn = new EfrontCourse($course -> course['depends_on']);

$tooltipInfo[] = '

'._DEPENDSON.":

".$dependsOn->course['name']."

";

} catch (Exception $e) {}

}

if ($string = implode("", $tooltipInfo)) {

echo $string;

} else {

echo _NODATAFOUND;

}

}

// For eFront social

if (isset($_GET['common_lessons']) && isset($_GET['user1']) && isset($_GET['user2']) && eF_checkParameter($_GET['user1'], 'login') && eF_checkParameter($_GET['user2'], 'login')) {

$user1 = EfrontUserFactory::factory($_GET['user1']);

if ($user1->getType() != "administrator") {

$common_lessons = $user1 -> getCommonLessons($_GET['user2']);

// pr($common_lessons);

foreach ($common_lessons as $id => $lesson) {

if (strlen($lesson['name'])>25) {

$lesson['name'] = substr($lesson['name'],0,22) . "...";

}

$tooltipInfo[] = '

'.$lesson['name']."
";

}

if ($string = implode("", $tooltipInfo)) {

echo $string;

} else {

echo _NODATAFOUND;

}

} else {

echo _NODATAFOUND;

}

}

} catch (Exception $e) {

echo ($e -> getMessage().' ('.$e -> getCode().')'); //No ajax error handling here, since we want the info to appear in the popup

}

?>

/**

* Respond to ajax query returing a list

*

* @package eFront

*/

session_cache_limiter('none');

session_start();

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

$path = "../libraries/";

/** Configuration file.*/

include_once $path."configuration.php";

try {

$currentUser = EfrontUser :: checkUserAccess();

} catch (Exception $e) {

echo ""; //This way the frameset will revert back to single frame, and the annoying effect of 2 index.php, one in each frame, will not happen

exit;

}

eF_checkParameter($_POST['preffix'], 'text') OR $_POST['preffix'] = '%';

switch ($_GET['ask_type']) {

case 'users': askUsers(); break;

case 'tests': askTests(); break;

case 'feedback': askFeedback(); break;

case 'projects': askProjects(); break;

case 'lesson': case 'lessons': askLessons(); break;

case 'group' : case 'groups': askGroups(); break;

case 'course': case 'courses': askCourses(); break;

case 'branch': case 'branches': askBranches(); break;

case 'skill': case 'skills': askSkills(); break;

default: break;

}

function highlightSearch($search_results, $search_criteria, $bgcolor='Yellow'){

$start_tag = '';

$end_tag = '';

$search_results = str_ireplace($search_criteria, $start_tag . $search_criteria . $end_tag, $search_results);

return $search_results;

}

function askUsers() {

// $_POST['preffix'] = "%"; // Useful for debugging

if (isset($_POST['preffix'])) {

if (mb_strpos($_POST['preffix'], ";") === false) {

$user = $_POST['preffix'];

} else {

$user = mb_substr(strrchr($_POST['preffix'], ";"), 1);

}

}

//pr($_SESSION);

$users = array();

if (isset($user) && $user) {

$preffix = $user;

// Return active users for statistics:

// - admins: all

// - supervisors: all supervised (in Enterprise)

// - professors: students

if (isset($_GET['supervisors'])) {

$users = eF_getTableData("users u, module_hcd_employee_works_at_branch wb", "distinct u.login,https://www.360docs.net/doc/4917337426.html,,u.surname,https://www.360docs.net/doc/4917337426.html,er_type,https://www.360docs.net/doc/4917337426.html,er_types_ID", "u.login=https://www.360docs.net/doc/4917337426.html,ers_LOGIN and wb.supervisor=1 and u.active = 1 and (login like '$preffix%' OR name like '$preffix%' OR surname like '$preffix%' OR user_type like '$preffix%')", "login");

} elseif (!isset($_GET['messaging'])) {

if ($_SESSION['s_type'] == "administrator") {

$users = eF_getTableData("users", "login,name,surname,user_type,user_types_ID", "active = 1 and (login like '$preffix%' OR name like '$preffix%' OR surname like '$preffix%' OR user_type like '$preffix%')", "login");

} else {

// Get students of professor

$user = EfrontUserFactory :: factory($_SESSION['s_login']);

$students = $user -> getProfessorStudents();

$logins = array();

$size = sizeof($students);

for ($i = 0; $i < $size; $i++) {

if (!in_array($students[$i], $logins)){

$logins[] = $students[$i];

}

}

$logins[] = $_SESSION['s_login'];

//pr($logins);

$students_list = "'".implode("','", $logins)."'";

$users = eF_getTableData("users", "login,name,surname,user_type,user_types_ID", "login IN ($students_list) AND (login like '$preffix%' OR name like '$preffix%' OR surname like '$preffix%' OR user_type like '$preffix%')", "login");

}

// Return active users for messaging:

// - admins: all

// - supervisors: all

// - users: other users with common group, lesson, course (or branch in Enterprise)

} else {

if ($_SESSION['s_type'] == "administrator") {

$users = eF_getTableData("users", "login,name,surname,user_type,user_types_ID", "active = 1 and (login like '$preffix%' OR name like '$preffix%' OR surname like '$preffix%')", "login");

$users[] = array('login' => "[*]",'name' => _ALLUSERS, 'surname' => _ALLUSERS);

} else {

$currentUser = EfrontUserFactory::factory($_SESSION['s_login']);

$grant_full_access = false;

if (!$grant_full_access) { // Used for correct handling in Enterprise and non-Enterprise editions

$myGroupsIds = array_keys($currentUser -> getGroups());

//echo "Groups


";pr($myGroupsIds);

if (!empty($myGroupsIds)) {

$result = eF_getTableDataFlat("users JOIN users_to_groups", "distinct users_LOGIN", "users.active = 1 and users.login = users_to_https://www.360docs.net/doc/4917337426.html,ers_LOGIN AND groups_ID IN ('" . implode("','", $myGroupsIds) ."')");

$logins = $result['users_LOGIN'];

}

$myLessonsIds = array_keys($currentUser -> getLessons());

//pr($result);echo "Lessons


";pr($myLessonsIds);

if (!empty($myLessonsIds)) {

$result = eF_getTableDataFlat("users JOIN users_to_lessons", "distinct users_LOGIN", "users.active = 1 and users.archive=0 and users_to_lessons.archive=0 and users.login = users_to_https://www.360docs.net/doc/4917337426.html,ers_LOGIN AND lessons_ID IN ('" . implode("','", $myLessonsIds) ."')");

$logins = array();

foreach($result['users_LOGIN'] as $login) {

if (!in_array($login, $logins)){

$logins[] = $login;

}

}

}

$myCoursesIds = eF_getTableDataFlat("users_to_courses", "courses_ID", "archive = 0 and

users_LOGIN = '". $currentUser -> user['login']."'");

$myCoursesIds = $myCoursesIds['courses_ID'];

//echo "Courses


";pr($myCoursesIds);

if (!empty($myCoursesIds)) {

$result = eF_getTableDataFlat("users JOIN users_to_courses", "distinct users_LOGIN", "users.active = 1 and users.login = users_to_https://www.360docs.net/doc/4917337426.html,ers_LOGIN AND users.archive=0 and users_to_courses.archive=0 AND courses_ID IN ('" . implode("','", $myCoursesIds) ."')");

foreach($result['users_LOGIN'] as $login) {

if (!in_array($login, $logins)){

$logins[] = $login;

}

}

}

$related_users_list = "'".implode("','", $logins)."'";

$users = eF_getTableData("users", "distinct login,name,surname,user_type,user_types_ID", "login IN (". $related_users_list . ") AND (login like '$preffix%' OR name like '$preffix%' OR surname like '$preffix%')", "login");

} else {

$users = eF_getTableData("users", "distinct login,name,surname,user_type,user_types_ID", "login like '$preffix%' OR name like '$preffix%' OR surname like '$preffix%'", "login");

}

}

if($_SESSION['s_type'] == "professor"){

$users[] = array('login' => "[*]",'name' => _MYSTUDENTS, 'surname' => _MYSTUDENTS, 'user_type' => '[*]');

}

//pr($users);

}

}

$str = '

';

echo $str;

}

function askTests() {

$preffix = $_POST['preffix'];

$currentUser = EfrontUserFactory :: factory($_SESSION['s_login']);

if ($_SESSION['s_type'] == "administrator"){

$tests_info = eF_getTableDataFlat("tests t, lessons l, content c", "t.id, https://www.360docs.net/doc/4917337426.html, as test_name, https://www.360docs.net/doc/4917337426.html, as lesson_name, l.originating_course ","c.lessons_ID=l.id AND t.content_ID=c.id AND c.ctg_type='tests' AND t.active=1 and t.lessons_ID = l.id AND https://www.360docs.net/doc/4917337426.html, like '%$preffix%'", "https://www.360docs.net/doc/4917337426.html,"); $scorm_tests_info = eF_getTableDataFlat("content c, lessons l", "c.id, https://www.360docs.net/doc/4917337426.html, as test_name, https://www.360docs.net/doc/4917337426.html, as lesson_name, l.originating_course ","c.active=1 and c.lessons_ID = l.id AND https://www.360docs.net/doc/4917337426.html, like '%$preffix%' and c.ctg_type = 'scorm_test'", "https://www.360docs.net/doc/4917337426.html,");

} else {

$tests_info = eF_getTableDataFlat("tests t, users_to_lessons ul, lessons l", "t.id, https://www.360docs.net/doc/4917337426.html, as test_name, https://www.360docs.net/doc/4917337426.html, as lesson_name, l.originating_course ", "ul.archive=0 and (https://www.360docs.net/doc/4917337426.html,er_type = 'professor' OR https://www.360docs.net/doc/4917337426.html,er_type =".$currentUser->user['user_types_ID'].") AND t.active=1 and t.lessons_ID = l.id AND https://www.360docs.net/doc/4917337426.html,ers_LOGIN='".$_SESSION['s_login']."' and ul.lessons_ID=l.id AND https://www.360docs.net/doc/4917337426.html, like '%$preffix%'", "https://www.360docs.net/doc/4917337426.html,");

$scorm_tests_info = eF_getTableDataFlat("content c, users_to_lessons ul, lessons l", "c.id, https://www.360docs.net/doc/4917337426.html, as test_name, https://www.360docs.net/doc/4917337426.html, as lesson_name, l.originating_course ", "ul.archive=0 and (https://www.360docs.net/doc/4917337426.html,er_type = 'professor' OR https://www.360docs.net/doc/4917337426.html,er_type =".$currentUser->user['user_types_ID'].") AND c.active=1 and c.lessons_ID = l.id AND https://www.360docs.net/doc/4917337426.html,ers_LOGIN='".$_SESSION['s_login']."' and ul.lessons_ID=l.id AND https://www.360docs.net/doc/4917337426.html, like '%$preffix%' and c.ctg_type = 'scorm_test'", "https://www.360docs.net/doc/4917337426.html,");

$lessons = $currentUser -> getLessons(false,'professor'); //must return tests for lessons that he has a professor role

$lessons = array_keys($lessons);

if (!empty($lessons)) {

$lessonsStr = implode(',', $lessons);

$legalTests = eF_getTableDataFlat("tests t, content c","t.id","t.content_ID=c.id AND c.ctg_type!='feedback' AND t.lessons_ID IN ($lessonsStr)");

$legalTestsId = $legalTests['id'];

$legalScormTests = eF_getTableDataFlat("content","id","lessons_ID IN ($lessonsStr)");

$legalScormTestsId = $legalScormTests['id'];

}

}

$result = eF_getTableDataFlat("courses", "id, name");

if (!empty($result)) {

$courseNames = array_combine($result['id'], $result['name']);

} else {

$courseNames = array();

}

$info_array = array();

for ($i = 0 ; $i < sizeof($tests_info['test_name']) ; $i ++){

$hiname = highlightSearch($tests_info['test_name'][$i], $preffix);

$path_string = $tests_info['lesson_name'][$i]." » ".$hiname;

if ($courseNames[$tests_info['originating_course'][$i]]) {

$path_string = $courseNames[$tests_info['originating_course'][$i]].' » '.$path_string;

}

if (empty($legalTestsId) || in_array($tests_info['id'][$i], $legalTestsId)) {

$info_array[] = array('id' => $tests_info['id'][$i],'name' => $tests_info['test_name'][$i],'path_string' =>$path_string);

}

}

for ($i = 0 ; $i < sizeof($scorm_tests_info['test_name']) ; $i ++){

$hiname = highlightSearch($scorm_tests_info['test_name'][$i], $preffix);

$path_string = $scorm_tests_info['lesson_name'][$i]." » ".$hiname;

if ($courseNames[$scorm_tests_info['originating_course'][$i]]) {

$path_string = $courseNames[$scorm_tests_info['originating_course'][$i]].' » '.$path_string; }

if (empty($legalScormTestsId) || in_array($scorm_tests_info['id'][$i], $legalScormTestsId)) { $info_array[] = array('id' => $scorm_tests_info['id'][$i],'name' => $scorm_tests_info['test_name'][$i],'path_string' =>$path_string);

}

}

$str = '

';

echo $str;

}

function askFeedback() {

$preffix = $_POST['preffix'];

$currentUser = EfrontUserFactory :: factory($_SESSION['s_login']);

if ($_SESSION['s_type'] == "administrator"){

$tests_info = eF_getTableDataFlat("tests t, lessons l, content c", "t.id, https://www.360docs.net/doc/4917337426.html, as test_name, https://www.360docs.net/doc/4917337426.html, as lesson_name, l.originating_course ","c.lessons_ID=l.id AND t.content_ID=c.id AND c.ctg_type='feedback' AND t.active=1 and t.lessons_ID = l.id AND https://www.360docs.net/doc/4917337426.html, like '%$preffix%'", "https://www.360docs.net/doc/4917337426.html,");

$legalTests = eF_getTableDataFlat("tests t, content c","t.id","t.content_ID=c.id AND c.ctg_type='feedback'");

$legalTestsId = $legalTests['id'];

} else {

$tests_info = eF_getTableDataFlat("tests t, users_to_lessons ul, lessons l, content c", "t.id, https://www.360docs.net/doc/4917337426.html, as test_name, https://www.360docs.net/doc/4917337426.html, as lesson_name, l.originating_course ", "c.lessons_ID=l.id AND t.content_ID=c.id AND c.ctg_type='feedback' AND ul.archive=0 and (https://www.360docs.net/doc/4917337426.html,er_type = 'professor' OR https://www.360docs.net/doc/4917337426.html,er_type =".$currentUser->user['user_types_ID'].") AND t.active=1 and t.lessons_ID = l.id AND https://www.360docs.net/doc/4917337426.html,ers_LOGIN='".$_SESSION['s_login']."' and ul.lessons_ID=l.id AND https://www.360docs.net/doc/4917337426.html, like '%$preffix%'", "https://www.360docs.net/doc/4917337426.html,");

$lessons = $currentUser -> getLessons(false,'professor'); //must return tests for lessons that he has a professor role

$lessons = array_keys($lessons);

if (!empty($lessons)) {

$lessonsStr = implode(',', $lessons);

$legalTests = eF_getTableDataFlat("tests t, content c","t.id","t.content_ID=c.id AND c.ctg_type='feedback' AND t.lessons_ID IN ($lessonsStr)");

$legalTestsId = $legalTests['id'];

}

}

$result = eF_getTableDataFlat("courses", "id, name");

if (!empty($result)) {

$courseNames = array_combine($result['id'], $result['name']);

} else {

$courseNames = array();

}

$info_array = array();

for ($i = 0 ; $i < sizeof($tests_info['test_name']) ; $i ++){

$hiname = highlightSearch($tests_info['test_name'][$i], $preffix);

$path_string = $tests_info['lesson_name'][$i]." » ".$hiname;

if ($courseNames[$tests_info['originating_course'][$i]]) {

$path_string = $courseNames[$tests_info['originating_course'][$i]].' » '.$path_string;

}

if (empty($legalTestsId) || in_array($tests_info['id'][$i], $legalTestsId)) {

$info_array[] = array('id' => $tests_info['id'][$i],'name' => $tests_info['test_name'][$i],'path_string' =>$path_string);

}

}

$str = '

';

echo $str;

}

function askSuggestions() {

//header("Content-type: text/xml;charset=iso-8859-7");

$ie = isset($_GET['ie']) ? true : false ;

$search_results_data = array();

$search_results_forum = array();

$search_results_pmsgs = array();

$results = EfrontSearch :: searchFull('');

//$res = eF_getTableData("users_to_lessons", "lessons_ID", "users_LOGIN='".$_SESSION['s_login']."'");

$res = eF_getTableData("users_to_lessons,lessons", "lessons_ID", "users_to_lessons.archive=0 and lessons.archive=0 and users_LOGIN='".$_SESSION['s_login']."' and lessons.active=1 and lessons.id=users_to_lessons.lessons_ID"); // na min emfanizontai ta deactivated lessons

for ($i = 0; $i < sizeof($res); $i++) {

$lessons_have[] = $res[$i]['lessons_ID'];

}

$have_results = false;

if ($results) {

for ($i = 0; $i < sizeof($results); $i++) {

if ($results[$i]['table_name'] == "comments") {

$res1 = eF_getTableData("content,comments", "https://www.360docs.net/doc/4917337426.html, AS name,content.id AS id,content.lessons_ID AS lessons_ID", "comments.content_ID=content.id AND comments.id=".$results[$i]['foreign_ID']);

$type_str = _COMMENTS;

} elseif ($results[$i]['table_name'] == "news") {

$res1 = eF_getTableData($results[$i]['table_name'], "id,title AS name,lessons_ID",

"id=".$results[$i]['foreign_ID']);

$type_str = _ANNOUNCEMENTS;

} elseif ($results[$i]['table_name'] == "content") {

$res1 = eF_getTableData($results[$i]['table_name'], "id,name,lessons_ID,ctg_type", "id=".$results[$i]['foreign_ID']);

$type_str = _LESSONCONTENT;

} elseif ($results[$i]['table_name'] == "f_messages") {

$res1 = eF_getTableData("f_messages, f_topics, f_forums", "f_forums.id as category_id, f_forums.lessons_ID, f_messages.id, f_messages.title, f_messages.f_topics_ID, f_topics.title as topic_title", "f_topics_ID = f_topics.id and f_forums.id = f_forums_ID and f_messages.id=".$results[$i]['foreign_ID']);

$type_str = _MESSAGESATFORUM;

} elseif ($results[$i]['table_name'] == "f_personal_messages") {

$res1 = eF_getTableData("f_personal_messages, f_folders", "f_personal_messages.id, f_personal_messages.title, f_personal_https://www.360docs.net/doc/4917337426.html,ers_LOGIN, f_https://www.360docs.net/doc/4917337426.html,, f_folders.id as folder_id", "f_personal_messages.f_folders_ID = f_folders.id and f_personal_messages.id=".$results[$i]['foreign_ID']);

$type_str = _MESSAGESATFORUM;

}

elseif ($results[$i]['table_name'] == "lessons") {

$res1 = eF_getTableData($results[$i]['table_name'], "id as lessons_ID,name", "id=".$results[$i]['foreign_ID']." and active=1");

$type_str = _LESSON;

}

elseif ($results[$i]['table_name'] == "f_topics") {

$res1 = $res1 = eF_getTableData("f_messages, f_topics, f_forums", "f_forums.id as category_id, f_forums.lessons_ID, f_messages.id, f_messages.title, f_messages.f_topics_ID, f_topics.title as topic_title", "f_topics_ID = f_topics.id and f_forums.id = f_forums_ID and f_topics.id=".$results[$i]['foreign_ID']);

$type_str = _MESSAGESATFORUM;

}

//print_r($res1);

if (sizeof($res1) > 0) {

$results[$i]['position'] == "title" ? $position_str = _TITLE : $position_str = _TEXT;

if (isset($res1[0]['lessons_ID']) && in_array($res1[0]['lessons_ID'], $lessons_have)) {

$lesson = eF_getTableData("lessons", "name", "id=".$res1[0]['lessons_ID']);

if ($results[$i]['table_name'] != 'f_messages' && $results[$i]['table_name'] != 'f_topics') {

if($results[$i]['table_name'] == "lessons"){

$search_results_data[] = array('id' => $res1[0]['id'],

'name' => $res1[0]['name'],

'table_name' => $results[$i]['table_name'],

'lessons_ID' => $res1[0]['lessons_ID'],

'lesson_name' => $lesson[0]['name'],

'score' => sprintf("%.0f %%", $results[$i]['score'] * 100),

'type' => $type_str,

'position' => $position_str);

}elseif ($results[$i]['table_name'] != "lessons" /*&& eF_isDoneContent($res1[0]['id'])*/) {

//echo $res1[0]['id']."->".eF_isDoneContent($res1[0]['id']);

$search_results_data[] = array('id' => $res1[0]['id'],

'name' => $res1[0]['name'],

'table_name' => $results[$i]['table_name'],

'lessons_ID' => $res1[0]['lessons_ID'],

'lesson_name' => $lesson[0]['name'],

'ctg_type' => $res1[0]['ctg_type'],

'score' => sprintf("%.0f %%", $results[$i]['score'] * 100),

'type' => $type_str,

'position' => $position_str);

}

} else {

$search_results_forum[] = array('category_id' => $res1[0]['category_id'],

'lesson_name' => $lesson[0]['name'],

'topic_subject' => $res1[0]['topic_title'],

'topic_id' => $res1[0]['f_topics_ID'], 'message_subject' => $res1[0]['title'], 'message_id' => $res1[0]['id'],

'position' => $position_str);

}

} elseif ($results[$i]['table_name'] == 'f_personal_messages' && $_SESSION['s_login'] == $res1[0]['users_LOGIN']) {

$search_results_pmsgs[] = array('message_subject' => $res1[0]['title'],

'message_id' => $res1[0]['id'],

'folder_name' => $res1[0]['name'],

'folder_id' => $res1[0]['folder_id'],

'position' => $position_str);

}

}

}

}

echo "";

echo "";

echo "";

foreach($search_results_data as $key => $value)

{

echo "";

echo "".$value['id']."";

echo "".$value['name']."";

echo "".$value['table_name']."";

echo "".$value['lessons_ID']."";

echo "".$value['lesson_name'].""; echo "".$value['score']."";

echo "".$value['type']."";

echo "".$value['position']."";

echo "";

}

echo "";

/*

for($i=0;$i

{

$name = str_replace("&","&",$result[$i]['name']);

$url = str_replace("&","&",$result[$i]['url']);

$id = $result[$i]['id'];

echo "";

if($ie)

{

echo "".$name."";

echo "".$url."";

实验室信息管理系统(LIS)解决方案教学内容

康师傅检验信息管理系统 解决方案 2010-04-06 康师傅软件股份公司

一、 产品概述 康师傅检验信息管理系统是将实验室的分析仪通过计算机网络连接起来,采用科学的管理思想和先进的数据库技术,实现以实验室为核心的整体环境的全面管理,为临床提供全面的医学检验服务。它集样本管理、资源管理、流程管理、网络管理、数据管理(采集,传输,处理,输出,发布) 、报表管理等诸多模块为一体,组成一套完整的、符合实验室管理规范的综合管理和检测质量监控体系,既能满足实验室日常管理要求,又保证各种实验分析数据的严格管理和控制。 系统应支持条形码管理,具有医嘱和检验仪器双向自动传输功能。检验仪器应通过终端服务器的方式直接接入HIS 系统的主干网络。 二、 仪器连接 SYSMEX UF-100 SYSMEX UF-50 桂林优利特-300 桂林优利特-100 迪瑞H-300 罗氏MODULAR P+P 分析仪 电解质分析仪AVL-988-3 贝克曼LX-20 SYSTEM KX21 SYSMEX 9000/RAM-1 贝克曼库尔特 ACL-200 贝克曼库尔特 ACL-9000 SYSMEX 1800I 雷勃MK-3 罗氏E170 罗氏Light Cycle 中佳放免分析仪精子分析仪普利生NA6 细菌鉴定仪HX-21

三、检验流程 四、集团化医院网络布局 医院一医院二医院三需求说明: 1)医生根据登陆的医院科室申请检验医嘱 2)样本采样可以实行集中和分散两种方式

集中采样:系统中所有标本可以进行集中采样,然后根据执行科室进行标本分拣,将标本送到各自医院对应的检验科室 分散采样:用户根据登录医院查询对应医院的标本进行采样后,送到对应的检验科室 3)各检验科室收到标本后,进行标本接收上机 4)标本完成检验后,完成采集结果和报告审核,同时报告可以在各自医院的医生工作站进行浏览和打印 五、产品特点 ?使用高性能的数据库平台 ?使用专业的数据采集器(终端服务器)连接检验分析仪器 ?实现样本全程状态监控和周转时间(TAT)管理 ?使用条码管理,实现双向通讯和标本管理 ?符合临床实验室管理系统标准和管理规范 ?提供专业规范的检验报告和个性化报告定制服务 ?提供完善的质量控制体系 ?支持ASTM,HL7, SNOMED,NCCL等医疗行业相关标准 ?支持报告以Web,手机短信,电子邮件多种形式进行访问和发布 ?提供丰富的查询和统计功能 六、产品功能 1检验申请 1.1 医生或护士可在临床工作站录入检验医嘱形成检验申请单; 1.2 技师可在标本登记中录入检验申请单; 1.3 自动根据录入的医嘱取得标本类型,医嘱数量和容器类型; 1.4 可以接受来自外部系统的检验申请; 1.5 支持打印多种形式的检验申请单。

附录(图书管理系统程序代码)

附录 主页面(MDImain): Private Sub addbook_Click() add_book.Show End Sub Private Sub addreader_Click() add_reader.Show End Sub Private Sub adduser_Click() add_user.Show End Sub Private Sub backbook_Click() back_book.Show End Sub Private Sub borrowbook_Click() borrow_book.Show End Sub Private Sub cuibackbook_Click() cuiback_book.Show End Sub Private Sub findbook_Click() find_book.Show End Sub Private Sub findreader_Click() find_reader.Show End Sub Private Sub MDIForm_Load() End Sub Private Sub modifybook_Click() change_book.Show End Sub Private Sub modifypwd_Click()

change_pwd.Show End Sub Private Sub modifyreader_Click() change_reader.Show End Sub Private Sub delbook_Click() del_book.Show End Sub Private Sub delreder_Click() del_reader.Show End Sub Private Sub quitsys_Click() End End Sub 登陆(login): Option Explicit Dim cnt As Integer '记录确定次数 Private Sub Command1_Click() Dim sql As String Dim rs_login As New ADODB.Recordset If Trim(txtuser.Text) = "" Then '判断输入的用户名是否为空MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" txtuser.SetFocus Else sql = "select * from 用户表where 用户名='" & txtuser.Text & "'" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" txtuser.SetFocus Else '检验密码是否正确 If Trim(rs_login.Fields(1)) = Trim(txtpwd.Text) Then userID = txtuser.Text userpow = rs_login.Fields(2) rs_login.Close Unload Me MsgBox "欢迎登录到图书管理系统!", vbOKOnly + vbExclamation, "" MDImain.Show Else

学生信息管理系统java课程设计(含源代码)

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩:

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

高校实验室解决方案简介

高等学校实验室解决方案 随着高等学校实验教学改革的不断深入,实验教学已经由原来的传统封闭型逐步向开放型过渡,与此同时,实验管理人员的工作负担却越来越重,包括排课、场地管理、人员安排、实验评分等各种问题让实验管理人员忙得焦头烂额。为了减轻实验管理人员的工作负担,同时针对目前学校实验越来越庞杂的管理局面,特设计以下几种解决方案,希望能为高等学校的实验教学增加亮点,系统科学的为实验教学服务。 方案一:齐泰公司出品的新概念实验教学管理系统(包含开放式实验预约系统)+齐泰公司开发的桌上电源控制器+门禁系统(或直接IC卡管理) 运用以上方案,老师(所有业务流程)和学生(预约实验及查询成绩等)可以完全通过实验教学管理系统进行教学及在线交流,通过结合门禁系统(或IC 卡),可以对实验开启或关闭,并且对学生进行考勤。结合桌上电源控制器,通过对学生实验前的实验桌分配,不管是排课实验还是预约实验,学生进行刷卡动作,考勤同时自动开启门禁和分配给该生的实验桌电源,实验完成后再次刷卡,考勤同时自动关闭门禁和分配给该生的实验桌电源。对实验室安全和减轻老师的管理劳动强度有非常大的作用。没有授权或其他授权时段的卡不能进行教师门与电源控制的,可以实现无人值守的实验教学。另外一方面,关于师生间的交互,我们一方面通过交流工具实现师生间的文字即时交流;一方面也可以相互发送文档、多媒体数据等多种数据;再一方面,关于实验过程的控制和数据采集,我们可以在初始化数据的时候定义好相关实验的主要数据清单或完善的实验报告和预习报告,通过学生的填写或操作后提交给系统,再由老师评分或系统自动处理。如有要求,甚至可以在学生预约实验前或进行实验前提交预习报告。 方案二:方案一+视频监控 该方案结合目前最新的网络视频监控,网络摄像机的应用,使得图像监控技术有了一个质的飞跃。首先,网络的综合布线代替了传统的视频模拟布线,实现了真正的三网(视频、音频、数据)合一,网络摄像机即插即用,工程实施简便,系统扩充方便;其次,跨区域远程监控成为可能,特别是利用互联网,图像监控

Java图书管理系统-附源码

目录 题目简述 -------------------------------- 01 需求分析 -------------------------------- 01 数据结构 -------------------------------- 01 功能模块 -------------------------------- 02 程序设计 -------------------------------- 02 运行截图 -------------------------------- 04 分析总结 -------------------------------- 08 程序源码 -------------------------------- 08

图书信息管理系统 题目简述: 题目名称:图书信息管理系统 要求:使用图形用户界面,用数据库建立1或2个图书信息表,能连接数据库并实现查询、增加、删除、修改等功能。 需求分析: 图书信息管理系统应该具备图书的信息管理功能和流通管理功能。其中,信息管理功能包括查找,增加,修改,删除,显示全部信息等模块。流通管理功能包括图书借阅,归还等模块。因此分别设计各个模块,实现不同的功能。 数据结构: 用SQL Sever 建立数据库的表,用一张表存放图书的ID号码,图书名称,图书的所有者,图书状态,图书的使用者(允许为空)。具体设计如下图所示: 图书ID,图书名称,图书所有者,图书的状态,图书使用者(允许为空)均为varchar(50)类型,在Java中可以方便的查询。图书存储信息的具体内容如下图所示:

功能模块: 程序设计: 主框架设计: 主框架上方包含三个按钮,分别是“系统管理”、“图书信息管理”和“图书流通管理”,定义JMenuBar类的对象、JMenu类的对象和JMenuItem类的对象,分别表示菜单栏、菜单组和菜单选项,然后调用初始化函数,将不同类的对象通过setText()函数设定不同的文本,然后将其添加到窗口容器中。对每个按钮分别添加不同的消息监听,响应相应的消息,调用不同的类完成不同的功能。消息监听功能详见源代码bookMain类。 图书信息管理模块包括增加图书,删除图书,编辑图书,查找图书和显示图书信息。具体的方法实现在bookBean中实现,当用户点击相应的按钮时,消息监听模块就会调用bookBean的构造函数产生一个bookBean的对象,然后通过对象调用bookBean类中的相应方法,完成事件的相应。 增加图书信息模块: 调用bookAdd类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话

学生学籍管理系统(含java源代码)

学生学籍管理详细设计 学号:____________ 姓名:____________ 班级:____________ 一、设计题目: 学生学籍管理 二:设计内容: 设计GUI学生学籍管理界面,用户可以加入学生信息,并对基本信息进行修改,添加,查询,删除。 三:设计要求: 进行简单的学生信息管理。 四:总体设计 (1)登陆界面的设计 (2)主窗体的设计 (3)添加学生信息窗体 (4)查询学生信息窗体 (5)修改学生信息窗体 (6)删除学生信息窗体 (7)事件响应的处理 五:具体设计 (1)程序结构的说明: A.入口程序:; B.登陆界面程序:; C.主窗体程序:; D.添加信息窗口程序:; E.修改信息窗口程序:;

F.查询信息窗口程序:; G.删除信息窗口程序:; H.程序数据连接:; (2)程序代码及分析说明 A.程序源代码(已提交) 是程序的入口。使登录窗口位于窗口中间,并且不可改变窗口大小。 是程序的登陆窗体。输入用户名和密码(用户名和密码在数据库的password表中)点击“进入系统”,然后登陆界面消失;出现要操作的界面(屏幕左上角)。是添加信息界面。添加基本信息后,点击“添加信息”按钮,将信息加入xinxi 表中。 是修改信息界面。输入要修改的学号或姓名(两者数其一或全部输入),并输入所有信息,点击“修改信息”按钮(如果数据库中不存在此学号,则弹出对话框“无此学生信息”),若有则修改。 是删除信息界面。输入要删除的学生的学号,点击“删除信息”按钮,弹出确认删除对话框,即可删除该生信息。 是查询信息界面。输入要查询的学生学号,点击“信息查询”按钮,在相应的文本区里显示查询的信息。 H:源代码 ; import .*; etScreenSize(); Dimension frameSize=(); if> { =; } if> { =; } ( (true); } public static void main(String[] args) { try{ ()); } catch(Exception e) { (); } new student(); } }

实验室质量手册和程序文件的编写

实验室质量手册和程序文件的编写 李正东(原中国计量科学研究院教授)编 1质量管理的原则 1.1 以顾客为关注焦点 1.1.1 概述 质量管理的主要关注点是满足顾客要求并且努力超越顾客期望。 1.1.2 理论依据 组织只有赢得和保持顾客和其他有关的相关方的信任才能获得持续成功。 1.2 领导作用 1.2.1 概述 各级领导建立统一的宗旨和方向,创造全员积极参与的条件,实现组织的质量目标。1.2.2 理论依据 统一的宗旨和方向的建立,以及全员的积极参与,能够使组织将战略、方针、过程和资源保持一致,以实现其目标。 1.3 全员参与 1.3.1 概述 在整个组织内各级人员的胜任、被授权和积极参与,是提高组织创造和提供价值能力的必要条件。 1.3.2 理论依据 为了有效和高效的管理组织,各级人员得到尊重并参与其中是极其重要的。通过表彰、授权和提高能力,促进在实现组织的质量目标过程中的全员积极参与。 1.4 过程方法 1.4.1 概述 将活动作为相互关联、功能连贯的过程系统来理解和管理时,可更加有效和高效的得到一致的、可预知的结果。 1.4.2 理论依据 质量管理体系是由相互关联的过程所组成。理解体系是如何产生结果的,能够使组织尽可能地完善其体系和绩效。 1.5 改进 1.5.1 概述 成功的组织持续关注改进。 1.5.2 理论依据 改进对于组织保持当前的绩效水平,对其内、外部条件的变化做出反应并创造新的机会都是非常必要的。 1.6 循证决策 1.6.1 概述 基于数据和信息的分析和评价的决策,更有可能产生期望的结果。 1.6.2 理论依据 决策是一个复杂的过程,并且总是包含一些不确定因素。它经常涉及多种类型和来源的输入及其解释,而这些解释可能是主观的。重要的是理解因果关系和可能的非预期后果。对事实、证据和数据的分析可导致决策更加客观、可信。 1.7 关系管理

实验室管理系统详细设计

实验室管理系统 第一章:引言 1.1课题背景 计算机技术的进步, 促使现代工业技术在快速发展,随着科研和生产技术的不断发展, 原来的人工管理模式已显得不太适应, 而对于高校实验室, 无论其规模的大小, 每时每刻都会产生例如实验设备信息、实验数据、设备维修等等这样大量的信息, 这些数据、信息不仅是一些测量、分析的数据, 还有许多维持实验室运行的管理型数据。在以往的手工管理、纸袋储存数据的方式下,这些海量般的数据、信息, 使得实验室的管理人员以及使用人员为维护这些数据浪费了大量的物力和时间, 效率低下, 并且经常出错, 更谈不上数据的快速科学分析。 在这一背景下, 实验室信息管理系统( LIMS)开始出现, 并在实际应用中得到了快速发展, 成为一项崭新的实验室管理与应用技术。在当今这样一个网络信息时代, 除了提高实验室自身专业水准, 提高实验室的管理水准已经是唯一的选择。实验室信息管理系统( LIMS) 无疑会把实验室的管理水平提升到信息时代的高水平。 1.2研究目的与意义 高校实验室信息管理系统是一个以实验室信息管理和实验信息管理为主的先进的网络系统,能够为用户提供充足的实验室信息和实验信息的查询手段。传统的人工管理实验室这种古老的方式来进行,已完全不能满足学校对实验室规划的需要,实验室信息管理系统能够极大地提高实验室管理的效率,也是使学校的科学化、正规化管理的重要条件。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。现代企业的竞争逐渐整合为工作效率的竞争,在信息爆炸的时代,传统教学实验管理面临着诸多挑战。

图书管理系统含源代码可以运行

第一章需求分析 1.1设计内容 利用c++的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。 1.2 设计任务 要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C++进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C++课程基本知识的理解与掌握,培养学生利用C++进行软件操作的能力和技巧。 1.3 基本要求 (1)通过提示菜单选择可以进行的操作。 (2)将图书的信息存入文件中,并命名为BookInfo.txt。 (3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。 (4)在本系统中可以进行管理系统包含的基本操作,其中包括: a)查看所有图书的信息。

b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显示该图书的相关信息,如果没有找到则给出提示信息。 c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。 d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在。 e)借阅一本图书,需要给出学号和图书编号,如果图书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt文件中。 (5)图书基本信息包括图书编号、书名、作者、出版社和价钱这些简单信息。 (6)图书信息文件中每一行存放一本图书的信息。 (7)借阅信息文件中每一行存放一本书的借阅情况。 (8)对老师.学生的信息进行登记处理,包括姓名、学号教师编号、学院班级等。 (9)对图书的金额进出管理,对一丢失的图书进行处罚、对超期归还的图书进行赔偿金额计算。 第二章系统功能设计

实验室管理程序

实验室管理程序 1目的 为了确保实验室具备所从事检测和校准活动的能力,健全实验室管理,以提供及时、准确、公正、严谨的服务,特制定本程序。 2范围 本程序适用于产品(性能)实验室、精密检测实验室、校准、理化实验室的范围、程序、人员要求、过程控制及外委过程的确定。 3术语 3.1实验室:检验、检测和校准的设施,可包括但不限于化学、冶金、尺寸、物理、电子或可靠性的测试。 3.2检验:通过观察和判断,适当时结合测量、试验所进行的符合性评价。 3.3检测:按照规定的程序,为确定给定的产品、材料、设备、生物组织、物理现象、工艺或服务的一种或多种特性的技术操作。 3.4校准:在规定条件下,为确立计量仪器或计量系统的示值或实物量具所代表的值与相对应的被计量的已知值之间关系的一组操作。 3.5实验室范围:包括以下内容的受控文件: ?实验室有资格开展的具体测试、评估和校验 ?开展上述活动的所需的设备清单 ?开展上述活动的方法和标准清单 3.6实验室认可:权威机构给予某实验室具有执行规定任务能力的正式承认。3.7非标准试验:指国际标准、国家标准、行业标准、地方标准中没有规定的试验方法。主要是指本企业自己确定的试验方法。 4职责 4.1产品工程处为本程序主管部门,负责产品(性能)试验室的管理。 4.2质量保证处计量检测中心负责产品检测及校准和理化实验室的管理。 4.3铸造分厂负责本单位实验室的管理。 4.4人力资源处负责实验室试验、检验人员的培训、建档工作。 5内容 5.1工作流程

责任部门 管理策划处 工业工程组 各实验室 人力资源处各实验室各实验室 各实验室 各实验室 实验室 各实验室 各实验室 各实验室 各实验室发展规划处各实验室采购供应处各实验室0 1 02 03 04 05 06 07 08 09 10 1 1 12 13 流程图输出文件 实验室编制和岗位描述,组 织机构图 质量方针 人员名单和技术档案 试验项目清单 标准设备清单,标准清单,标准物 质清单 试验标准清单 文件记录目录借阅记录 非标准试验规程确认记录 测量不确定度分析报告 试验设施环境的需求报告,实验 室环境监试测 检测设备采购立项申请 设备档案,维护计划,维护记录 使用维护说明书

实验室预约管理系统设计方案

理工大学(实验室开放预约系统) 技 术 方 案 书

设计单位:华陇理工科技 第一章系统设计背景 随着高校及科研院所管理变革的逐步推进,实验室建设、维护与应用管理日趋向规化、复杂化发展,实验室管理工作也变得更加繁重和复杂。这就迫切需要先进管理技术手段规、加强、简化实验室应用管理的工作。随着计算机、网络等技术的普及和物联网产业浪潮的兴起,在计算机网络支持下,基于物联网平台来进行实验室综合管理已成为实验室管理技术手段的必然发展趋势。 高校用户的实验教务管理业务是属于整体教务管理业务的一个特殊分支,因此实验教务管理要受整体教务管理业务安排状况的制约,进一步的影响是不同的实验教务管理模式,往往对实验室开放预约管理提出不同的预约模式需求,因而为适应不同高校的教务管理模式,本子系统采用模式分类化的实验室开放预约模块设计,根据不同用户需求组装不同的预约模式模块,辅以必要的定制化改进与整合开发,彻底完成用户对于开放预约的应用需求。 第二章系统设计 2.1用户背景

本方案设计共包含材料学院6间实验室,按每个实验室有4台实验设备进行设计,同时可以考虑增加视频监控模块进行实时监控。 本预约系统需在学院的门户开设预约窗口,方便学生和老师进行预约。(可提供系统的,供门户接口融合) 2.2系统平台介绍 本系统的核心设计理念为:如何预约取决于如何开放。 目前可实现如下开放预约模式: (1)系统支持大开放预约模式,即全学期(或学年)向选定用户开放选定的工位时段资源,不区分实验课程预约或课程外预约,但支持集体预约和个人预约。 (2)针对教务系统不排定实验课表的用户,系统支持实验课程集任课教师开放课程预约工位时段资源,由各相关课程的任课教师(或其科代表等)根据其教学计划进行课程集体占用预约,以约代排形成实验教学课表;教学课表确定后,实验中心可利用实验教学课表外的空闲工位时段资源做为可开放预约资源进行开放预约。 系统支持预约业务与门禁准入身份识别、工位准用身份识别设备的整合联动应用,预约生效时段自动授权识别准入、自动工位授权识别。系统支持预约审核,即实验室管理人员或实验教员针对预约申请方的预约项目或理由进行审核,审核通过后才是预约成功。

基于java的图书管理系统源代码

基于java的图书管理系统源代码声明:本系统是基于C/S的图书管理系统,主要使用的是Oracle数据库,下面附所有实现代码 package library; import java.awt.BorderLayout; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.ResultSet; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class book_add extends JFrame implements ActionListener{ DataBaseManager db=new DataBaseManager(); ResultSet rs; JPanel panel1,panel2; JLabel book_id_label,book_name_label,author_label, press_label,press_date_label,price_label,book_num_label,borrowed_num _label,a ddress;

实验室信息管理系统(LIMS)

1.实验室信息管理系统(LIMS)主要功能 1)样品的管理(Sample Management) 是指样品进入实验室到分配检测项目直至完成并认可检测结果出具证书的过程。样品被登录到LIMS 后,系统将严格按照预先定义好的有关规范对其实行管理。样品登录后,系统将自动分配一个按照一定规则命名的sample ID作为该样品在实验室中唯一的标识,并打印出条码。所有与样品有关的信息在样品登录时都将被记录下来,如送样单位付款单位接收报告单位的信息、需要出报告的日期、检测的项目及要求、样品的状态及描述、接收样品的日期部门及人员等。样品登陆后,根据检测项目的不同会自动给相关的技术小组下达工作任务,即自动分配样品。检测结果可以从仪器直接传输或者人工键盘输入,并且会有三级审核认可的过程,只有通过认可的结果才可以进行发布和产生分析证书。 2) 质量控制的管理(Quality Control Management) LIMS 应该提供相关的功能模块为实验室建立一套完善的质量管理体系,对影响实验室质量的诸要素进行有效的管理和控制,并严格规范实验室的标准操作流程(SOP)。为了保证分析数据的准确性、分析结果的可靠性和监测测试仪器的稳定性,过程质量控制中的数据进行统计分析。并通过对质控样品的数据分析,自动评价实验室总体或者个体的质量状况。通过对一定时间内样品关键质量数据的分析,预测其质量的趋势。 3) 仪器集成(Instrument Interface) 将测试仪器跟LIMS 集成,实现从测试仪器到LIMS 的自动数据传输代替测试和质量控制结果的键盘输入,从而大大提高工作的效率和减少错误率,缩短样品在实验室中的生命周期。 4)统计报表。 提供报表软件,生成准确反应实验室需求的报表,包括统计、计算等。通过开放式数据库连接,同时保持数据的一致性和安全性。 5) 厂家的管理。 包括厂家基本信息、厂家意见反馈、厂家送样历史记录、厂家样品监测信息、厂家与实验室业务往来统计、费用统计和厂家信誉额度等信息。

图书馆管理系统设计附带源代码

毕业设计_图书管理系统 一、数据库设计数据库设CREATE DATABASE TSGL GO USE TSGL GO CREATE TABLE Bmanage ( bId varchar(10) PRIMARY KEY, bName varchar(50), --添加图书--图书编号 --书名 bNumber varchar(10), --书数目) GO bSore varchar(50) --分类 CREATE TABLE Madmin ( mName varchar(10)PRIMARY KEY, mPwd varchar(25), mAge varchar(8), mSex varchar(4), mNumber varchar(15), mrole varchar(8) ) GO --图书员管理 --图书管理员姓名--图书管理员密码 --图书管理员年龄 --图书管理员性别 --图书管理员电话 --图书管理员角色

CREATE TABLE Reader ( rSno varchar (10) PRIMARY KEY , rName varchar (10), rPwd varchar (25), rAge varchar (8), rSex varchar (4), rState varchar (8), rNumber varchar (15), rEmail varchar (25), --读者信息表reader --读者号 --姓名 --密码 --年龄 --性别 --状态 --电话号码 --电子邮件rAdress varChar (50), --地址) GO rGrade varChar (15), rClass varchar (15), rRole varchar (8) --年级 --班级 --角色 CREATE TABLE Rrecord ( rSno varchar (10) PRIMARY KEY , rName varChar (10), bId varchar (10), bName varChar (50), bTime varchar (10), bBackTime varchar (10) ) GO CREATE TABLE SysSet ( rRole varchar (8)PRIMARY KEY , rState varchar (8), Fine float (25), rDay varchar (8) --读者编号学号 --读者姓名 --图书编号 --图书名称 --借书时间 --还书时间 --读者角色 --读者可借书数 --过期罚款设置 --可借书天数 ) 二、界面截图及说明 1) 登录窗口(实现管理员与馆长的登陆)

学生信息管理系统程序

. C语言上机实践报告 专业:冶金工程 班级:冶金1102 姓名: 学号: 任课教师:丽华 时间:2012年8月

一、题目 学生信息管理系统设计 ●学生信息包括:学号,姓名,年龄,性别,出生年月,地址,,E-mail等。 ●试设计一学生信息管理系统,使之能提供以下功能: a)系统以菜单方式工作 b)学生信息录入功能(学生信息用文件保存)---输入 c)学生信息浏览功能---输出 d)查询、排序功能---算法 (1) 按学号查询 (2) 按姓名查询 e)学生信息的删除与修改(可选项) 一、系统功能模块结构图

二、数据结构设计及用法说明#include"stdio.h" #include"stdlib.h" #include"string.h" /*定义结构体用作创建链表*/ typedef struct z1 { char no[11]; //学生学号 char name[15]; //学生姓名 int age; //学生年龄 char sex; //学生性别 char birthday[8]; //学生出生年月char address[20]; //学生住址 char tel[12]; //学生联系 char e_mail[20]; //学生e-mail struct z1 *next; //指向下一链表}STUDENT; /*声明用户自定义函数*/ STUDENT *init();

STUDENT *create(); STUDENT *del(STUDENT *h); STUDENT *insert(STUDENT *h); STUDENT *revise(STUDENT *h); void print(STUDENT *h); void search1(STUDENT *h); void search2(STUDENT *h); void save(STUDENT *h); int menu_select(); void inputs(char *prompt,char *s,int count); /*主函数,用于选择功能*/ void main() { STUDENT *head; head=init(); //初始化链表表头 for(;;) { switch(menu_select()) { case 0:head=init();break; //初始化 case 1:head=create();break; //创建列表

中心实验室运行管理方案

中心实验室运行管理方 案 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

中心实验室运行管理方案 (征求意见稿) 中心实验室为我校新建的全校科研服务公共平台,为做好运行管理,提供优质服务,特制定此管理方案。 一、功能定位 中心实验室功能定位:服务科研,支撑创新。将建设成为全校科研设备公共服务平台及全校教学科研创新支撑基地。作为面向全校开放的公共实验室,学校各类各级专业技术人员及学生均可申请使用中心实验室从事科学研究活动。 二、建设布局 中心实验室划分为六大模块,分别是:中央控制(实验技术培训)、分子医学实验、形态学实验、医学成像技术实验、物质结构解析和生物标本库(筹建)模块。 1.中央控制(实验技术培训)模块 功能作用:通过开放式统一管理,及时准确地提供和处理实验室运行的各项数据,实现对中心实验室管理的规范化、流程化和信息化,提高中心实验室的管理水平和服务水平,为学校的宏观管理和科学决策提供依据,为实验室对外开放提供有力保障;同时,通过医学实验技术操作和仪器设备管理的培训,提升全校科研人员的专业技能。在学校相关

部门的授权下,对分布在学校其他单位的大型仪器设备的使用实行远程管理与绩效评估。 2.分子医学模块 功能作用:在蛋白质和核酸水平上,通过对蛋白质化学、蛋白质晶体学和蛋白质动力学的研究,获得有关蛋白质理化特性和分子特性的信息,对编码蛋白质的基因进行有目的的设计和改造;针对需要展开基因克隆、基因突变分析、基因功能研究等与基因操作相关的研究,为其提供所需要的基因操作技术、设备支撑等。 3.形态学模块 功能作用:通过对细胞各种形态学参数和生物学特征、细胞生化成分组成及含量、细胞的各种功能、特定分子和离子的生物学变化等的实时定量分析研究,建立涵盖从细胞到组织水平的各种形态学科研技术和方法,从而更客观地揭示生命活动的规律。 4.医学成像技术模块 功能作用:从化学工程学、细胞及分子生物学、纳米技术与医学以及生物医学工程等四个方面,围绕分子影像学与转化医学研究领域开展研究工作。 5.物质结构解析模块

图书馆管理系统源代码

源程序清单 1、文件名 login(login.frm) 功能说明:整个系统的登陆界面,需要输入用户名和登陆密码才能进入到系统中,进行借阅等操作。 源代码: Option Explicit Dim cnt As Integer Private Sub Command1_Click() Dim sql As String Dim rs_login As New ADODB.Recordset If Trim(Combo1.Text) = "" Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" Combo1.SetFocus Else sql = "select * from 系统管理 where 用户名='" & Combo1.Text & "'" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" Combo1.SetFocus Else If Trim(rs_login.Fields(1)) = Trim(txtpwd.Text) Then userID = Combo1.Text rs_login.Close Unload Me form1.Show Else MsgBox "密码不正确", vbOKOnly + vbExclamation, "" txtpwd.SetFocus End If

End If cnt = cnt + 1 If cnt = 3 Then Unload Me End If Exit Sub End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Dim connectionstring As String connectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _ "data source=book.mdb" conn.Open connectionstring cnt = 0 End Sub Private Sub txtuser_Change() End Sub 2、文件名 form1(form1.frm) 功能说明:整个系统的主界面,其中包括图书管理、读者管理、图书借阅管理、系统管理、关于,以及在这下面的子菜单。 源代码: Private Sub add_admin_Click() frmadduser.Show End Sub Private Sub add_back_book_Click() frmbackbookinfo.Show

教师课程管理系统(c++课程设计源代码)

#include #include #include #include #include #include using namespace std; using std::string; class ke; ostream&operator<<(ostream&dist,ke&k); istream&operator>>(istream&sour,ke&k); class teacher; ostream&operator<<(ostream&dist,teacher&t); istream&operator>>(istream&sour,teacher&t); class ke { protected: static int keID; string keName; char keJB; int keXS; int keJC; int keBH; public: ke(string name="未命名的课程",char jb='0',int xs=0,int jc=0,int bh=0); void show(); friend ostream&operator<<(ostream&dist,ke&k); friend istream&operator>>(istream&sour,ke&k); int getkeJC(){return keJC;} string getkeName(){return keName;} }; int ke::keID=0; ke::ke(string name,char jb,int xs,int jc,int bh) { keID++; bh=keID; keName=name; keJB=jb; keXS=xs; keJC=jc; keBH=bh; } void ke::show() {

图书标准管理系统含源代码可以运行

图书标准管理系统含源代码可以运行

组长:何关瑶学号11107200105 组员:汪芳 李玉珏 马文磊 雷盛华 第一章需求分析 1.1设计内容 利用c++的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。 1.2 设计任务 要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C++进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C++课程基本知识的理解与掌握,培养学生利用C++进行软件操作的能力和技巧。 1.3 基本要求 (1)通过提示菜单选择可以进行的操作。 (2)将图书的信息存入文件中,并命名为BookInfo.txt。 (3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。 (4)在本系统中可以进行管理系统包含的基本操作,其中包括: a)查看所有图书的信息。 b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显

示该图书的相关信息,如果没有找到则给出提示信息。 c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。 d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在。 e)借阅一本图书,需要给出学号和图书编号,如果图书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt 文件中。 (5)图书基本信息包括图书编号、书名、作者、出版社和价钱这些简单信息。 (6)图书信息文件中每一行存放一本图书的信息。 (7)借阅信息文件中每一行存放一本书的借阅情况。 (8)对老师.学生的信息进行登记处理,包括姓名、学号教师编号、学院班级 等。 (9)对图书的金额进出管理,对一丢失的图书进行处罚、对超期归还的图书 进行赔偿金额计算。

相关主题
相关文档
最新文档