lrf402788946 4 yıl önce
ebeveyn
işleme
eb33a0f3fe
2 değiştirilmiş dosya ile 19 ekleme ve 0 silme
  1. 1 0
      app/model/student.js
  2. 18 0
      app/service/student.js

+ 1 - 0
app/model/student.js

@@ -5,6 +5,7 @@ const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin');
 // 学生表
 const StudentSchema = {
   name: { type: String, required: true, maxLength: 200, zh: '姓名' }, // 姓名
+  number: { type: String, required: false, maxLength: 200, zh: '序号' }, // 序号
   id_number: { type: String, required: true, maxLength: 200, zh: '身份证号' }, // 身份证号
   phone: { type: String, required: true, maxLength: 200, zh: '手机号' }, // 手机号
   gender: { type: String, required: false, maxLength: 200, zh: '性别' }, // 性别

+ 18 - 0
app/service/student.js

@@ -33,6 +33,7 @@ class StudentService extends CrudService {
 
   // 查询
   async query({ skip, limit, ...info }) {
+    await this.arrangeNumber();
     const total = await this.model.count(info);
     const res = await this.model
       .find(info)
@@ -332,6 +333,23 @@ class StudentService extends CrudService {
     });
     return studentList;
   }
+
+  // 将学生排号
+  async arrangeNumber(classid) {
+    const studList = await this.model.find({ classid });
+    let number = 1;
+    // 查每个学生的编号,如果没有,就给赋上值;有,就给number赋上值,然后继续下一位
+    for (const stu of studList) {
+      if (!stu.number) {
+        stu.number = number;
+        await stu.save();
+        number++;
+      } else {
+        number = stu.number;
+        number++;
+      }
+    }
+  }
 }
 
 module.exports = StudentService;