EMS.Web網(wǎng)上閱卷系統(tǒng)重構(gòu)

閱卷系統(tǒng)業(yè)務(wù)全景圖

閱卷系統(tǒng)業(yè)務(wù)全景圖.png

Omr分數(shù)更改業(yè)務(wù)流程

Omr分數(shù)更改業(yè)務(wù)流程.png

EMS

  • TB_COURSE
 ALTER TABLE TB_COURSE ADD DIS_ORDER INT DEFAULT 0

SELECT * FROM EXAM.VW_EXAM_PROGRESS
SELECT * FROM EMS.VW_EXAM_COURSE

EXAM

  • TB_STUDENT
  • ABSENT 標(biāo)記 CHAR(1)
    ‘Y ’缺考 (計0分),N’未缺考(正常) ,'Z' 作弊(計1分),默認為 N;
    缺考的不計入平均分計算,作弊的需要計入;
  • STUTYPE 文理科 NUMBER(8)
    -1 不區(qū)分 1 文科 2 理科
  • PINYIN 拼音 VARCHAR2(50) :用于學(xué)生按姓名首字母查詢
  • IS_THREE INT 是否三校生、借讀生: 1 是 0 否 ,默認為0,主要用于學(xué)生成績的過濾;
  • IS_SPECIAL INT 是否特殊學(xué)生 :1 是 0 否,默認為0
ALTER TABLE TB_STUDENT ADD PINYIN VARCHAR2(50)
ALTER TABLE TB_STUDENT ADD IS_THREE INT DEFAULT 0
ALTER TABLE TB_STUDENT ADD IS_SPECIAL INT DEFAULT 0

ALTER TABLE BR_STUDENTINFO ADD PINYIN VARCHAR2(50)
ALTER TABLE BR_STUDENTINFO ADD IS_THREE INT DEFAULT 0
ALTER TABLE BR_STUDENTINFO ADD IS_SPECIAL INT DEFAULT 0

ALTER TABLE TT_STUDENT ADD PINYIN VARCHAR2(50)
ALTER TABLE TT_STUDENT ADD IS_THREE INT DEFAULT 0
ALTER TABLE TT_STUDENT ADD IS_SPECIAL INT DEFAULT 0

SELECT * FROM VW_STUDENT
UPDATE TB_STUDENT SET PINYIN = F_PINYIN(NAME)

權(quán)限管理

  • Sys_Role
    RoleId RoleName Text
    1 Administrator 管理員
    2 Leader 閱卷組長
    3 Reader 閱卷員
    4 SuperLeader 超級組長
    5 SuperReader 超級閱卷員
  • Roles:

Administrator
Administrator
Administrator;SuperLeader
Administrator
Administrator
Administrator;Leader;Reader;SuperLeader;SuperReader
Administrator;Leader;SuperLeader
Administrator;Leader;SuperLeader
Administrator
Administrator
Administrator
Administrator
Administrator
Administrator
Administrator
Administrator
Administrator

  • Sys_Privilege
    PrivilegeId PrivilegeName Text
    1 BrowseExam 瀏覽考試
    2 CreateExam 創(chuàng)建考試
    3 DeleteExam 刪除考試
    4 UpdateExam 更新考試
    5 BrowseStudent 瀏覽學(xué)生
    6 CreateStudent 添加學(xué)生
    7 DeleteStudent 刪除學(xué)生
    8 UpdateStudent 編輯學(xué)生
    9 BrowseTemplate 瀏覽模版
    10 CreateTemplate 創(chuàng)建模版
    11 DeleteTemplate 刪除模版
    12 UpdateTemplate 編輯模版
    13 UserManager 用戶管理
    14 RoleManager 權(quán)限管理
    15 ReadN 評閱普通卷
    16 ReadP 評閱問題卷
    17 ReadJ 評閱仲裁卷
    18 BrowseProgress 進度監(jiān)控
    19 BrowseScore 抽查試卷
    20 UpdateScore 修改分數(shù)
    21 AutoItem 自動分配題目
    22 SystemTools 系統(tǒng)工具

Analysis Model

  • EXAM.Area
AreaId Title AreaType RegType
1 考號 4 4 條形碼
2 選擇題 5 1 OMR
3 選擇題 5 1 OMR
4 選擇題 5 1 OMR
5 定位器 1 6 直線
6 定位器 1 6 直線
7 切割區(qū) 6 0
8 保密區(qū) 10 0
9 切割區(qū) 6 0
10 切割區(qū) 6 0
11 切割區(qū) 6 0
12 題號區(qū) 8 1 OMR
  • Model
SELECT * FROM TB_EXAM  WHERE EXAMGUID = '5F9766432291437C8031E9F2EF774532'  AND EXAMNUM = 1108;
SELECT * FROM TB_EXAM_COURSE WHERE EXAMGUID = '5F9766432291437C8031E9F2EF774532' AND EXAMID IN (11080001,11080005);

SELECT * FROM TB_STUDENT WHERE EXAMID IN (11080001,11080005);

SELECT * FROM TB_AREA  WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_ANSWER WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_FRAME WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_ITEM WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_SUBITEM WHERE EXAMID IN (11080001,11080005);

SELECT * FROM TB_SCAN_PAPER WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_SCAN_GROUP WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_SCAN_PAGE WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_SCAN_OMR1 WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_IMGPATH WHERE EXAMID IN (11080001,11080005);

SELECT * FROM TB_LIB1 WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_LIB_DEMO WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_LIB3 WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_LIB4 WHERE EXAMID IN (11080001,11080005);

SELECT * FROM TB_IDX1 WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_IDX2 WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_IDX3 WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_IDX4 WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_IDXR WHERE EXAMID IN (11080001,11080005);



SELECT * FROM TB_ITEM_ROLE WHERE EXAMID IN (11080001,11080005)
SELECT * FROM TB_BUFFER WHERE EXAMID IN (11080001,11080005);
SELECT * FROM  TB_FINAL WHERE EXAMID IN (11080001,11080005);


SELECT * FROM TB_ANNOTATION WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_PROBLEM_MEMO WHERE EXAMID IN (11080001,11080005);


SELECT * FROM TB_LOG WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_LOG_CHECK WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_LOG_CONTROL WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_LOG_OWNER WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_LOG_TRAIN WHERE EXAMID IN (11080001,11080005);


SELECT * FROM TB_STAT WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_STAT_READS WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_STAT_FINAL WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_STAT_SCORE WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_STAT_CHECK WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_STAT_COUNT WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_STAT_DIFF WHERE EXAMID IN (11080001,11080005);
SELECT * FROM TB_STAT_MATCH WHERE EXAMID IN (11080001,11080005);

數(shù)據(jù)字典說明

TB_ANSWER.MARKTYPE:是否多選 單選為0;
TB_ITEM.OPTIONID:是否可選題 0 正常 1 可選題;
TB_ITEM.SCORERULE:出分規(guī)則 0 平均 1 最高 2 最低
TB_ITEM.MAXPERSON:評次 單評 1 雙評 3 三評 4
TB_ITEM.MATCHMODE:匹配方式 0 默認 1 全匹配
TB_ITEM.SUBDIFF:子題匹配 0 不匹配 1 匹配
TB_ITEM.DIFF_N 誤差
TB_ITEM.DIFF_O 自評誤差
TB_ITEM.DIFF_M 受控卷誤差
TB_ITEM.TOTAL 總?cè)蝿?wù)量
TB_ITEM_ROLE.STAGE:評卷狀態(tài) N 正評 D 練習(xí)

解決分數(shù)溢出


-- 解決分數(shù)溢出 500錯誤
-- 名稱:PR_REFRESH_SCORE
CREATE OR REPLACE PROCEDURE PR_REFRESH_SCORE
 IS
  CNT INTEGER;
BEGIN

  SELECT COUNT(*)
    INTO CNT
    FROM TB_BUFFER T1
    LEFT JOIN TB_ITEM T2
      ON T1.EXAMID = T2.EXAMID
     AND T1.ITEMID = T2.ITEMID
   WHERE T1.SCORE > T2.FULLSCORE;

  IF (CNT = 0) THEN
    dbms_output.put_line('5');
    RETURN;
  
  
  ELSE
    UPDATE TB_BUFFER T1
       SET (SCORE, SUBSCORE) =
           (SELECT T2.FULLSCORE, T2.FULLSCORE
              FROM TB_ITEM T2
             WHERE T2.EXAMID = T1.EXAMID
               AND T2.ITEMID = T1.ITEMID)
     WHERE EXISTS (SELECT 1
              FROM TB_ITEM T2
             WHERE T1.EXAMID = T2.EXAMID
               AND T1.ITEMID = T2.ITEMID
               AND T1.SCORE > T2.FULLSCORE);
  END IF;
  COMMIT;
END;

Oracle 里面定時執(zhí)行任務(wù),比如存儲過程內(nèi)容

DECLARE
   job_no_ NUMBER;   
BEGIN   
   DBMS_JOB.SUBMIT(job_no_,
                   'PR_REFRESH_SCORE;',             
           sysdate,
                   'sysdate+1/1440');     
   COMMIT;
END;
-- 成功創(chuàng)建的JOB
SELECT * FROM DBA_JOBS T WHERE T.BROKEN='N'  AND T.SCHEMA_USER='EXAM'
-- 查詢正在執(zhí)行的JOB
SELECT * FROM DBA_JOBS_RUNNING;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容