examaction.java
来自「培训考试系统代码」· Java 代码 · 共 1,685 行 · 第 1/5 页
JAVA
1,685 行
return getOpeBoxList(mapping,form,req,res);
}
catch (SysDbException aple)
{//捕获CommonService系统异常,定向到出错页面
//输出异常信息
aple.printStackTrace();
req.setAttribute("errorId",ErrorCode.COMMONSERVICE_ERROR);
return (mapping.findForward("error"));
}
catch(java.sql.SQLException sqle)
{//捕获调用aplcoms异常,定向到出错页面
// 输出异常信息
sqle.printStackTrace();
req.setAttribute("errorId",ErrorCode.DATABASE_ERROR);
return (mapping.findForward("error"));
}
catch(Exception e)
{//捕获未知异常,定向到出错页面
//输出异常信息
e.printStackTrace();
req.setAttribute("errorId",ErrorCode.UNKNOW_ERROR);
return (mapping.findForward("error"));
}
finally
{//关闭连接实例
if(aplcoms != null)
{
aplcoms.close();
}
}
}
/**
* 对考试安排进行提交审查、审查通过、审查驳回等操作
*/
private ActionForward dealExam(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
//从ExamForm中获取考试安排ID号
String examId = ((ExamForm)form).getExamId();
String[] examIds = ((ExamForm)form).getExamIds();
//获取相关参数
String checkNotion = ((ExamForm)form).getCheckNotion();
String confirmHandler = ((ExamForm)form).getConfirmHandler();
String confirmNotion = ((ExamForm)form).getConfirmNotion();
//获取操作类型
String opeType = ((ExamForm)form).getOpeType();//从form中获取
//新状态
int newState = 0;
if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_SUBMIT_CHECK))
{
newState = 1;
}
else if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_CHECK_PASS))
{
newState = 3;
}
else if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_CHECK_NOPASS))
{
newState = 2;
}
else if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_APPROVE_PASS))
{
newState = 5;
}
else if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_APPROVE_NOPASS))
{
newState = 4;
}
else if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_CANCEL))
{
newState = 6;
}
else
{
newState = 0;
}
//考试安排ID号集合,之间以"#"号分割
String examIdSet = Tools.getStringSet(examIds);
//定义连接的实例
SysDbConn aplcoms = null;
try
{
//得到一个连接的实例
aplcoms = SysConnPool.getInstance().getAplComs();
//调用存储过程 P_Agt_ExamDeal完成考试安排的处理操作
aplcoms.preparedSP();
aplcoms.setString(1 ,examId);
aplcoms.setString(2 ,examIdSet);
aplcoms.setInt(3 ,newState);
aplcoms.setString(4,null);
aplcoms.setString(5,null);
if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_CHECK_PASS)
|| opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_CHECK_NOPASS))
{
aplcoms.setString(4,checkNotion);
aplcoms.setString(5,confirmHandler);
}
if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_APPROVE_PASS)
|| opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_APPROVE_NOPASS))
{
aplcoms.setString(4,confirmNotion);
}
SysDataSet ds1 = aplcoms.csCommonSP("P_Agt_ExamDeal");
SysRecord rc1 = ds1.getParamSet() ;
if(rc1==null || rc1.getInt(0) == OperatorFlagCode.OPERATOR_EORROR)
{//定向到错误页面,错误号为EXAM_DELETE_ERROR;
req.setAttribute("errorId",ErrorCode.EXAM_DEAL_ERROR);
return (mapping.findForward("error"));
}
//操作成功
if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_APPROVE_PASS))
{ //发邮件通知
aplcoms.preparedSP();
aplcoms.setString(1 ,examId);
aplcoms.setInt(2,Initor.systemConfig.getInt("agt/examNotify",4));
SysDataSet ds2 = aplcoms.csCommonSP("P_Agt_ExamSendEmail");
SysRecord rc2 = ds2.getParamSet() ;
}
if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_SUBMIT_CHECK))
{
//调用getOpeBoxList函数进行重新查询后返回到草稿箱列表页面
((ExamForm)form).setOpeType(OperatorFlagCode.EXAM_QUERY_DRAFT);
return getOpeBoxList(mapping,form,req,res);
}
else if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_CHECK_PASS)
|| opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_CHECK_NOPASS))
{
//调用getOpeBoxList函数进行重新查询后返回到审查箱列表页面
((ExamForm)form).setOpeType(OperatorFlagCode.EXAM_QUERY_CHECK);
return getOpeBoxList(mapping,form,req,res);
}
else if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_APPROVE_PASS)
|| opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_APPROVE_NOPASS))
{
//调用getOpeBoxList函数进行重新查询后返回到审批箱列表页面
((ExamForm)form).setOpeType(OperatorFlagCode.EXAM_QUERY_APPROVE);
return getOpeBoxList(mapping,form,req,res);
}
else if(opeType.equalsIgnoreCase(OperatorFlagCode.EXAM_CANCEL))
{
//调用queryExam函数进行重新查询后返回到列表页面
return queryExam(mapping,form,req,res);
}
else
{//操作类型错误,定向到错误页面,错误编码:UNKNOW_ERROR
req.setAttribute("errorId",ErrorCode.UNKNOW_ERROR);
return (mapping.findForward("error"));
}
}
catch (SysDbException aple)
{//捕获CommonService系统异常,定向到出错页面
//输出异常信息
aple.printStackTrace();
req.setAttribute("errorId",ErrorCode.COMMONSERVICE_ERROR);
return (mapping.findForward("error"));
}
catch(java.sql.SQLException sqle)
{//捕获调用aplcoms异常,定向到出错页面
// 输出异常信息
sqle.printStackTrace();
req.setAttribute("errorId",ErrorCode.DATABASE_ERROR);
return (mapping.findForward("error"));
}
catch(Exception e)
{//捕获未知异常,定向到出错页面
//输出异常信息
e.printStackTrace();
req.setAttribute("errorId",ErrorCode.UNKNOW_ERROR);
return (mapping.findForward("error"));
}
finally
{//关闭连接实例
if(aplcoms != null)
{
aplcoms.close();
}
}
}
/**
* 查询考试安排操作
*/
private ActionForward queryExam(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
//从ExamForm中获取查询条件;
String titleTerm = ((ExamForm)form).getTitleTerm();
String subjectTerm = ((ExamForm)form).getSubjectTerm();
String classIdTerm = ((ExamForm)form).getClassIdTerm();
int stateTerm = ((ExamForm)form).getStateTerm();
int scopeTerm = ((ExamForm)form).getScopeTerm();
String cityIdTerm = ((ExamForm)form).getCityIdTerm();
String startTimeTerm = ((ExamForm)form).getStartTimeTerm();
String endTimeTerm = ((ExamForm)form).getEndTimeTerm();
String partStaffTerm = ((ExamForm)form).getPartStaffTerm();
String creator = (String)req.getSession().getAttribute("workerNo");
int byClass = ((ExamForm)form).getByClass();
String opeType = ((ExamForm)form).getOpeType();//从form中获取
//定义连接的实例
SysDbConn aplcoms = null;
try
{
//得到一个连接的实例
aplcoms = SysConnPool.getInstance().getAplComs();
SysResultSet rs2 = null;
if(stateTerm == 8)
{
aplcoms.preparedQuery("");
aplcoms.setString(1,creator);
rs2 = aplcoms.csCommonQuery("SQL_Agt_ExamGetRelease","1","-1").getResultSet();
}
else
{
//根据查询条件,从数据库中获取考试安排记录
aplcoms.preparedSP();
aplcoms.setString(1 ,titleTerm);
aplcoms.setString(2 ,subjectTerm);
aplcoms.setString(3 ,classIdTerm);
aplcoms.setInt(4 ,stateTerm);
aplcoms.setInt(5 ,scopeTerm);
aplcoms.setString(6 ,cityIdTerm);
aplcoms.setString(7 ,startTimeTerm);
aplcoms.setString(8 ,endTimeTerm);
aplcoms.setString(9 ,partStaffTerm);
aplcoms.setString(10 ,creator);
SysResultSet rs1 = aplcoms.csCommonSP("P_Agt_ExamQuery").getResultSet();
rs1.next();
aplcoms.preparedQuery(rs1.getString(1));
rs2 = aplcoms.csCommonQuery("SELFSQL","1","-1").getResultSet();
}
//把结果集存放到session中
req.getSession().setAttribute("EXAM-QUERY-RESULTSET",new ResUtil(rs2));
//把查询条件传送到页面
//req.setAttribute(参数名称,参数值);
//定向到列表显示页面
req.getSession().setAttribute("BYCLASS",String.valueOf(byClass));
return (mapping.findForward("examlist"));
}
catch (SysDbException aple)
{//捕获CommonService系统异常,定向到出错页面
//输出异常信息
aple.printStackTrace();
req.setAttribute("errorId",ErrorCode.COMMONSERVICE_ERROR);
return (mapping.findForward("error"));
}
catch(java.sql.SQLException sqle)
{//捕获调用aplcoms异常,定向到出错页面
// 输出异常信息
sqle.printStackTrace();
req.setAttribute("errorId",ErrorCode.DATABASE_ERROR);
return (mapping.findForward("error"));
}
catch(Exception e)
{//捕获未知异常,定向到出错页面
//输出异常信息
e.printStackTrace();
req.setAttribute("errorId",ErrorCode.UNKNOW_ERROR);
return (mapping.findForward("error"));
}
finally
{//关闭连接实例
if(aplcoms != null)
{
aplcoms.close();
}
}
}
/**
* 查询考试的详细信息
*/
private ActionForward queryExamDetail(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
//从ExamForm中获取考试的ID号
String examId = ((ExamForm)form).getExamId();
if(examId == null)
{//从列表页面中传过来的
examId = (((ExamForm)form).getExamIds())[0];
}
//从ExamForm中获取定向的名称;
String directName = ((ExamForm)form).getDirectName();//从form中获取
//定义连接的实例
SysDbConn aplcoms = null;
try
{
//得到一个连接的实例
aplcoms = SysConnPool.getInstance().getAplComs();
//根据试卷ID号,从数据库中获取试卷的详细信息
SysResultSet rs1 = null;
SysResultSet rs2 = null;
SysResultSet rs3 = null;
if(3 == ((ExamForm)form).getScope())
{//分班级的考试
aplcoms.preparedQuery("");
aplcoms.setString(1 ,examId);
rs1 = aplcoms.csCommonQuery("SQL_Agt_ExamQueryDetailNoPaper" ,"1" ,"-1").getResultSet();
rs1 = new ResUtil(rs1);
//获取参加班级
aplcoms.preparedQuery("");
aplcoms.setString(1 ,examId);
rs2 = aplcoms.csCommonQuery("SQL_Agt_ExamGetClassByExam" ,"1" ,"-1").getResultSet();
//获取班级的试卷
aplcoms.preparedQuery("");
aplcoms.setString(1 ,examId);
rs3 = aplcoms.csCommonQuery("SQL_Agt_ExamGetPaperByClass" ,"1" ,"-1").getResultSet();
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?