|
@@ -31,29 +31,37 @@ class ExamPaper(models.Model):
|
|
multiple_simple_count = models.IntegerField(verbose_name=u'简单多选题数量', default=0)
|
|
multiple_simple_count = models.IntegerField(verbose_name=u'简单多选题数量', default=0)
|
|
fill_simple_count = models.IntegerField(verbose_name=u'简单填空题数量', default=0)
|
|
fill_simple_count = models.IntegerField(verbose_name=u'简单填空题数量', default=0)
|
|
judgment_simple_count = models.IntegerField(verbose_name=u'简单判断题数量', default=0)
|
|
judgment_simple_count = models.IntegerField(verbose_name=u'简单判断题数量', default=0)
|
|
|
|
+ discuss_simple_count = models.IntegerField(verbose_name=u'简单论述题数量', default=0)
|
|
|
|
+
|
|
single_mid_count = models.IntegerField(verbose_name=u'中等单选题数量', default=0)
|
|
single_mid_count = models.IntegerField(verbose_name=u'中等单选题数量', default=0)
|
|
multiple_mid_count = models.IntegerField(verbose_name=u'中等多选题数量', default=0)
|
|
multiple_mid_count = models.IntegerField(verbose_name=u'中等多选题数量', default=0)
|
|
fill_mid_count = models.IntegerField(verbose_name=u'中等填空题数量', default=0)
|
|
fill_mid_count = models.IntegerField(verbose_name=u'中等填空题数量', default=0)
|
|
judgment_mid_count = models.IntegerField(verbose_name=u'中等判断题数量', default=0)
|
|
judgment_mid_count = models.IntegerField(verbose_name=u'中等判断题数量', default=0)
|
|
|
|
+ discuss_mid_count = models.IntegerField(verbose_name=u'中等论述题数量', default=0)
|
|
|
|
+
|
|
single_hard_count = models.IntegerField(verbose_name=u'困难单选题数量', default=0)
|
|
single_hard_count = models.IntegerField(verbose_name=u'困难单选题数量', default=0)
|
|
multiple_hard_count = models.IntegerField(verbose_name=u'困难多选题数量', default=0)
|
|
multiple_hard_count = models.IntegerField(verbose_name=u'困难多选题数量', default=0)
|
|
fill_hard_count = models.IntegerField(verbose_name=u'困难填空题数量', default=0)
|
|
fill_hard_count = models.IntegerField(verbose_name=u'困难填空题数量', default=0)
|
|
judgment_hard_count = models.IntegerField(verbose_name=u'困难判断题数量', default=0)
|
|
judgment_hard_count = models.IntegerField(verbose_name=u'困难判断题数量', default=0)
|
|
|
|
+ discuss_hard_count = models.IntegerField(verbose_name=u'困难论述题数量', default=0)
|
|
|
|
|
|
single_scores = models.IntegerField(verbose_name=u'单选题单题分数', default=0)
|
|
single_scores = models.IntegerField(verbose_name=u'单选题单题分数', default=0)
|
|
multiple_scores = models.IntegerField(verbose_name=u'多选题单题分数', default=0)
|
|
multiple_scores = models.IntegerField(verbose_name=u'多选题单题分数', default=0)
|
|
fill_scores = models.IntegerField(verbose_name=u'填空题单题分数', default=0)
|
|
fill_scores = models.IntegerField(verbose_name=u'填空题单题分数', default=0)
|
|
judgment_scores = models.IntegerField(verbose_name=u'判断题单题分数', default=0)
|
|
judgment_scores = models.IntegerField(verbose_name=u'判断题单题分数', default=0)
|
|
|
|
+ discuss_scores = models.IntegerField(verbose_name=u'论述题单题分数', default=0)
|
|
|
|
|
|
single_total_count = models.IntegerField(verbose_name=u'单选题总数量', default=0, editable=False)
|
|
single_total_count = models.IntegerField(verbose_name=u'单选题总数量', default=0, editable=False)
|
|
multiple_total_count = models.IntegerField(verbose_name=u'多选题总数量', default=0, editable=False)
|
|
multiple_total_count = models.IntegerField(verbose_name=u'多选题总数量', default=0, editable=False)
|
|
fill_total_count = models.IntegerField(verbose_name=u'填空题总数量', default=0, editable=False)
|
|
fill_total_count = models.IntegerField(verbose_name=u'填空题总数量', default=0, editable=False)
|
|
judgment_total_count = models.IntegerField(verbose_name=u'判断题总数量', default=0, editable=False)
|
|
judgment_total_count = models.IntegerField(verbose_name=u'判断题总数量', default=0, editable=False)
|
|
|
|
+ discuss_total_count = models.IntegerField(verbose_name=u'论述题总数量', default=0, editable=False)
|
|
|
|
|
|
single_total_scores = models.IntegerField(verbose_name=u'单选题总分数', default=0, editable=False)
|
|
single_total_scores = models.IntegerField(verbose_name=u'单选题总分数', default=0, editable=False)
|
|
multiple_total_scores = models.IntegerField(verbose_name=u'多选题总分数', default=0, editable=False)
|
|
multiple_total_scores = models.IntegerField(verbose_name=u'多选题总分数', default=0, editable=False)
|
|
fill_total_scores = models.IntegerField(verbose_name=u'填空题总分数', default=0, editable=False)
|
|
fill_total_scores = models.IntegerField(verbose_name=u'填空题总分数', default=0, editable=False)
|
|
judgment_total_scores = models.IntegerField(verbose_name=u'判断题总分数', default=0, editable=False)
|
|
judgment_total_scores = models.IntegerField(verbose_name=u'判断题总分数', default=0, editable=False)
|
|
|
|
+ discuss_total_scores = models.IntegerField(verbose_name=u'论述题总分数', default=0, editable=False)
|
|
|
|
|
|
question_total_count = models.IntegerField(verbose_name=u'试题总数量', default=0, editable=False)
|
|
question_total_count = models.IntegerField(verbose_name=u'试题总数量', default=0, editable=False)
|
|
question_total_scores = models.IntegerField(verbose_name=u'试题总分数', default=0, editable=False)
|
|
question_total_scores = models.IntegerField(verbose_name=u'试题总分数', default=0, editable=False)
|
|
@@ -94,6 +102,7 @@ class ExamPaper(models.Model):
|
|
if self.single_hard_count:
|
|
if self.single_hard_count:
|
|
self._generate_detail(self.single_hard_count, ExamQuestion.SINGLE, ExamQuestion.HARD, begin_order)
|
|
self._generate_detail(self.single_hard_count, ExamQuestion.SINGLE, ExamQuestion.HARD, begin_order)
|
|
begin_order += self.single_hard_count
|
|
begin_order += self.single_hard_count
|
|
|
|
+
|
|
if self.multiple_simple_count:
|
|
if self.multiple_simple_count:
|
|
self._generate_detail(self.multiple_simple_count, ExamQuestion.MULTIPLE, ExamQuestion.SIMPLE, begin_order)
|
|
self._generate_detail(self.multiple_simple_count, ExamQuestion.MULTIPLE, ExamQuestion.SIMPLE, begin_order)
|
|
begin_order += self.multiple_simple_count
|
|
begin_order += self.multiple_simple_count
|
|
@@ -103,6 +112,7 @@ class ExamPaper(models.Model):
|
|
if self.multiple_hard_count:
|
|
if self.multiple_hard_count:
|
|
self._generate_detail(self.multiple_hard_count, ExamQuestion.MULTIPLE, ExamQuestion.HARD, begin_order)
|
|
self._generate_detail(self.multiple_hard_count, ExamQuestion.MULTIPLE, ExamQuestion.HARD, begin_order)
|
|
begin_order += self.multiple_hard_count
|
|
begin_order += self.multiple_hard_count
|
|
|
|
+
|
|
if self.fill_simple_count:
|
|
if self.fill_simple_count:
|
|
self._generate_detail(self.fill_simple_count, ExamQuestion.FILL, ExamQuestion.SIMPLE, begin_order)
|
|
self._generate_detail(self.fill_simple_count, ExamQuestion.FILL, ExamQuestion.SIMPLE, begin_order)
|
|
begin_order += self.fill_simple_count
|
|
begin_order += self.fill_simple_count
|
|
@@ -112,6 +122,7 @@ class ExamPaper(models.Model):
|
|
if self.fill_hard_count:
|
|
if self.fill_hard_count:
|
|
self._generate_detail(self.fill_hard_count, ExamQuestion.FILL, ExamQuestion.HARD, begin_order)
|
|
self._generate_detail(self.fill_hard_count, ExamQuestion.FILL, ExamQuestion.HARD, begin_order)
|
|
begin_order += self.fill_hard_count
|
|
begin_order += self.fill_hard_count
|
|
|
|
+
|
|
if self.judgment_simple_count:
|
|
if self.judgment_simple_count:
|
|
self._generate_detail(self.judgment_simple_count, ExamQuestion.JUDGMENT, ExamQuestion.SIMPLE, begin_order)
|
|
self._generate_detail(self.judgment_simple_count, ExamQuestion.JUDGMENT, ExamQuestion.SIMPLE, begin_order)
|
|
begin_order += self.judgment_simple_count
|
|
begin_order += self.judgment_simple_count
|
|
@@ -122,17 +133,31 @@ class ExamPaper(models.Model):
|
|
self._generate_detail(self.judgment_hard_count, ExamQuestion.JUDGMENT, ExamQuestion.HARD, begin_order)
|
|
self._generate_detail(self.judgment_hard_count, ExamQuestion.JUDGMENT, ExamQuestion.HARD, begin_order)
|
|
begin_order += self.judgment_hard_count
|
|
begin_order += self.judgment_hard_count
|
|
|
|
|
|
|
|
+ if self.discuss_simple_count:
|
|
|
|
+ self._generate_detail(self.discuss_simple_count, ExamQuestion.DISCUSS, ExamQuestion.SIMPLE, begin_order)
|
|
|
|
+ begin_order += self.discuss_simple_count
|
|
|
|
+ if self.discuss_mid_count:
|
|
|
|
+ self._generate_detail(self.discuss_mid_count, ExamQuestion.DISCUSS, ExamQuestion.MID, begin_order)
|
|
|
|
+ begin_order += self.discuss_mid_count
|
|
|
|
+ if self.discuss_hard_count:
|
|
|
|
+ self._generate_detail(self.discuss_hard_count, ExamQuestion.DISCUSS, ExamQuestion.HARD, begin_order)
|
|
|
|
+ begin_order += self.discuss_hard_count
|
|
|
|
+
|
|
def update_count(self):
|
|
def update_count(self):
|
|
self.single_total_count = self.single_simple_count + self.single_mid_count + self.single_hard_count
|
|
self.single_total_count = self.single_simple_count + self.single_mid_count + self.single_hard_count
|
|
self.multiple_total_count = self.multiple_simple_count + self.multiple_mid_count + self.multiple_hard_count
|
|
self.multiple_total_count = self.multiple_simple_count + self.multiple_mid_count + self.multiple_hard_count
|
|
self.fill_total_count = self.fill_simple_count + self.fill_mid_count + self.fill_hard_count
|
|
self.fill_total_count = self.fill_simple_count + self.fill_mid_count + self.fill_hard_count
|
|
self.judgment_total_count = self.judgment_simple_count + self.judgment_mid_count + self.judgment_hard_count
|
|
self.judgment_total_count = self.judgment_simple_count + self.judgment_mid_count + self.judgment_hard_count
|
|
|
|
+ self.discuss_total_count = self.discuss_simple_count + self.discuss_mid_count + self.discuss_hard_count
|
|
|
|
+
|
|
self.single_total_scores = self.single_scores * self.single_total_count
|
|
self.single_total_scores = self.single_scores * self.single_total_count
|
|
self.multiple_total_scores = self.multiple_scores * self.multiple_total_count
|
|
self.multiple_total_scores = self.multiple_scores * self.multiple_total_count
|
|
self.fill_total_scores = self.fill_scores * self.fill_total_count
|
|
self.fill_total_scores = self.fill_scores * self.fill_total_count
|
|
self.judgment_total_scores = self.judgment_scores * self.judgment_total_count
|
|
self.judgment_total_scores = self.judgment_scores * self.judgment_total_count
|
|
- self.question_total_count = self.single_total_count + self.multiple_total_count + self.fill_total_count + self.judgment_total_count
|
|
|
|
- self.question_total_scores = self.single_total_scores + self.multiple_total_scores + self.fill_total_scores + self.judgment_total_scores
|
|
|
|
|
|
+ self.discuss_total_scores = self.discuss_scores * self.discuss_total_count
|
|
|
|
+
|
|
|
|
+ self.question_total_count = self.single_total_count + self.multiple_total_count + self.fill_total_count + self.judgment_total_count + self.discuss_total_count
|
|
|
|
+ self.question_total_scores = self.single_total_scores + self.multiple_total_scores + self.fill_total_scores + self.judgment_total_scores+ self.discuss_total_scores
|
|
return self
|
|
return self
|
|
|
|
|
|
def _generate_detail(self, count, type, difficulty, begin_order):
|
|
def _generate_detail(self, count, type, difficulty, begin_order):
|