liuyu 4 år sedan
förälder
incheckning
4379cced92
3 ändrade filer med 23 tillägg och 1 borttagningar
  1. 4 1
      app/controller/trainplan.js
  2. 1 0
      app/router.js
  3. 18 0
      app/service/trainplan.js

+ 4 - 1
app/controller/trainplan.js

@@ -13,7 +13,10 @@ class TrainplanController extends Controller {
     this.service = this.ctx.service.trainplan;
   }
 
-
+  async updateclass() {
+    const data = await this.service.updateclass(this.ctx.request.body);
+    this.ctx.ok({ data });
+  }
 }
 
 module.exports = CrudController(TrainplanController, meta);

+ 1 - 0
app/router.js

@@ -86,6 +86,7 @@ module.exports = app => {
   // 培训计划表设置路由
   router.resources('trainplan', '/api/train/trainplan', controller.trainplan); // index、create、show、destroy
   router.post('trainplan', '/api/train/trainplan/update/:id', controller.trainplan.update);
+  router.post('/api/train/trainplan/updateclass', controller.trainplan.updateclass);
 
   // 培训计划年度批次表设置路由
   router.resources('trainplanyear', '/api/train/trainplanyear', controller.trainplanyear); // index、create、show、destroy

+ 18 - 0
app/service/trainplan.js

@@ -202,5 +202,23 @@ class TrainplanService extends CrudService {
   //   }
   // }
 
+  async updateclass({ trainplanid, classid, rightHeader }) {
+    assert(trainplanid && classid && rightHeader, '缺少参数项');
+    // 根据全年计划表id查出对应的全年计划详细信息
+    const trainplan = await this.model.findById(trainplanid);
+    if (!trainplan) {
+      throw new BusinessError(ErrorCode.DATA_NOT_EXIST, '全年计划信息不存在');
+    }
+    for (const term of trainplan.termnum) {
+      for (const batch of term.batchnum) {
+        const class_ = await batch.class.id(classid);
+        if (class_) {
+          class_.headteacherid = rightHeader;
+        }
+      }
+    }
+    return await trainplan.save();
+  }
+
 }
 module.exports = TrainplanService;