ExamServiceImp.java
上传用户:nbxinmin
上传日期:2021-10-09
资源大小:46k
文件大小:2k
源码类别:

Internet/IE编程

开发平台:

Java

  1. package com.xdf.exams.bo.service;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import com.xdf.exams.bean.Examrecord;
  5. import com.xdf.exams.bean.Question;
  6. import com.xdf.exams.bean.Result;
  7. import com.xdf.exams.bo.IExamService;
  8. import com.xdf.exams.dao.IExamrecordDAO;
  9. import com.xdf.exams.dao.IQuestionDAO;
  10. import com.xdf.exams.dao.IResultDAO;
  11. import com.xdf.exams.dao.ISubjectDAO;
  12. public class ExamServiceImp extends BaseService implements IExamService{
  13. private IExamrecordDAO examrecorddao = null;
  14. private IQuestionDAO questiondao = null;
  15. private IResultDAO resultdao = null;
  16. private ISubjectDAO subjectdao = null;
  17. public IExamrecordDAO getExamrecorddao() {
  18. return examrecorddao;
  19. }
  20. public void setExamrecorddao(IExamrecordDAO examrecorddao) {
  21. this.examrecorddao = examrecorddao;
  22. }
  23. public IQuestionDAO getQuestiondao() {
  24. return questiondao;
  25. }
  26. public void setQuestiondao(IQuestionDAO questiondao) {
  27. this.questiondao = questiondao;
  28. }
  29. public IResultDAO getResultdao() {
  30. return resultdao;
  31. }
  32. public void setResultdao(IResultDAO resultdao) {
  33. this.resultdao = resultdao;
  34. }
  35. public ISubjectDAO getSubjectdao() {
  36. return subjectdao;
  37. }
  38. public void setSubjectdao(ISubjectDAO subjectdao) {
  39. this.subjectdao = subjectdao;
  40. }
  41. public List findExamable(Long studentid) {
  42. return subjectdao.findExamable(studentid);
  43. }
  44. public List findinitExam(Long subjectid) {
  45. List list = questiondao.findQuestionBySubject(subjectid);
  46. List recordlist = new ArrayList();
  47. for (int i=0;i<list.size();i++) {
  48. Question q = (Question)list.get(i);
  49. Examrecord er = new Examrecord();
  50. er.setQuestion(q);
  51. recordlist.add(er);
  52. }
  53. return recordlist;
  54. }
  55. public boolean findcanExam(Long studentid, Long subjectid) {
  56. return resultdao.findcanExam(studentid,subjectid);
  57. }
  58. public Result submit(Result r, List recordlist) {
  59. try {
  60. beginTransaction();
  61. for (int i=0;i<recordlist.size();i++) {
  62. Examrecord er = (Examrecord)recordlist.get(i);
  63. if (er.getAnswer()!=null&&er.getAnswer().equals(er.getQuestion().getRightanswer())) {
  64. r.setScore(r.getScore() + er.getQuestion().getScore());
  65. }
  66. }
  67. resultdao.add(r);
  68. for (int i=0;i<recordlist.size();i++) {
  69. Examrecord er = (Examrecord)recordlist.get(i);
  70. er.setResult(r);
  71. examrecorddao.add(er);
  72. }
  73. commitTransaction();
  74. } catch (RuntimeException e) {
  75. rollbackTransaction();
  76. e.printStackTrace();
  77. throw e;
  78. }
  79. return r;
  80. }
  81. }