提交 d23ba565 authored 作者: zjm's avatar zjm

fix(培训模块): 添加培训终止接口

添加培训终止接口
上级 82c3406a
......@@ -9,6 +9,7 @@ import com.tykj.dev.device.task.service.TaskLogService;
import com.tykj.dev.device.task.service.TaskService;
import com.tykj.dev.device.task.subject.bto.TaskBto;
import com.tykj.dev.device.task.subject.bto.TaskLogBto;
import com.tykj.dev.device.task.subject.domin.Task;
import com.tykj.dev.device.train.dao.OnlineTainUserTimeDao;
import com.tykj.dev.device.train.dao.TestPaperDao;
import com.tykj.dev.device.train.dao.TrainUnitDao;
......@@ -122,12 +123,11 @@ public class TrainJobController {
public ResponseEntity newTrain(@ApiIgnore @AuthenticationPrincipal SecurityUser securityUser, @RequestBody TrainThemeAddVo trainThemeAddVo) {
TrainTheme trainThemeNoDb= trainThemeAddVo.toDo();
trainThemeNoDb.setTrainDataFiles(FilesUtil.stringFileToList(trainThemeAddVo.getTrainDataFileList()));
trainThemeNoDb.setCoursewareFiles(JacksonUtil.toJSon(trainThemeAddVo.getCoursewareFileList()));
trainThemeNoDb.setGenerateTestPaperString(JacksonUtil.toJSon(trainThemeAddVo.getGenerateTestPaper()));
TrainTheme trainTheme = trainThemeService.save(trainThemeNoDb);
trainTheme.setCoursewareFiles(JacksonUtil.toJSon(trainThemeAddVo.getCoursewareFileList()));
trainTheme.setGenerateTestPaperString(JacksonUtil.toJSon(trainThemeAddVo.getGenerateTestPaper()));
List<User> userList=userService.findUnitsIdInUsers(trainThemeAddVo.getUnitsIds());
List<Integer> needTrain = new ArrayList<>();
List<Integer> normal = new ArrayList<>();
//添加培训用户信息
userList.forEach(
user -> {
if (user.getTrainStatus()==1 || user.getTrainStatus()==2){
......@@ -145,6 +145,7 @@ public class TrainJobController {
}
}
);
//添加培训单位
List<TrainUnit> trainUnits=new ArrayList<>();
trainThemeAddVo.getUnitsIds().forEach(
unitId->{
......@@ -157,26 +158,7 @@ public class TrainJobController {
);
trainUnitDao.saveAll(trainUnits);
// 1.用户报名
userService.findAllUserIdInUser(needTrain).forEach(
user -> {
TrainUser trainUser= userToTrainUser(user);
trainUser.setIsSignUp(2);
trainUser.setIsNotJoinUserId(1);
trainUser.setTrainId(trainTheme.getTrainId());
saveTrainUser(trainUser);
});
userService.findAllUserIdInUser(normal).forEach(
user -> {
TrainUser trainUser= userToTrainUser(user);
trainUser.setIsSignUp(2);
trainUser.setIsNotJoinUserId(0);
trainUser.setTrainId(trainTheme.getTrainId());
saveTrainUser(trainUser);
}
);
//生成培训总任务 任务状态待报名
List<Integer> integers = new ArrayList<>();
integers.add(securityUser.getCurrentUserInfo().getUserId());
TaskBto taskVo = new TaskBto(StatusEnum.TRAIN1000.id, trainTheme.getName(), null, null, trainTheme.getTrainId(), BusinessEnum.TRAIN.id, securityUser.getCurrentUserInfo().getUnitsId(), 0, null, integers);
......@@ -184,7 +166,6 @@ public class TrainJobController {
taskVo.setCustomInfo("online");
}
TaskBto task = taskService.start(taskVo);
trainTheme.setTrainStatus(StatusEnum.TRAIN1000.id);
trainThemeAddVo.getUnitsIds().forEach(
unitId->{
......@@ -630,6 +611,37 @@ public class TrainJobController {
//修改业务都状态
}
/**
* 成绩查看确认
* @return
*/
@Transactional(rollbackFor = Exception.class)
@ApiOperation(value = "中止培训业务")
@GetMapping("/suspendTrain/{taskId}/{trainId}")
public ResponseEntity suspendTrain(@ApiIgnore @AuthenticationPrincipal SecurityUser securityUser, @PathVariable Integer taskId, @PathVariable Integer trainId) {
TrainTheme trainTheme = trainThemeService.findById(trainId);
trainTheme.setDeleteTag(1);
trainThemeService.save(trainTheme);
TaskBto taskBto= taskService.findBillIdAndBusinessTypeNotBillStatus(trainTheme.getTrainId(),BusinessEnum.TRAIN.id).get().parse2Bto();
taskService.moveToArchive(taskBto);
taskService.findByBillIdAndBusinessType(trainId,BusinessEnum.TRAIN_SIGN_UP.id).stream().map(Task::parse2Bto).forEach(
taskBto1 -> taskService.moveToArchive(taskBto1)
);
List<TrainUnit> trainUnits = trainUnitDao.findAllByTrainId(trainTheme.getTrainId()).stream().filter(trainUnit -> trainUnit.getSubmitStatus()!=1).collect(Collectors.toList());
//已报名阅知用户
List<Integer> userIds=new ArrayList<>();
if (trainUnits.size()>0){
trainUnits.forEach(
trainUnit -> userIds.addAll(trainUserDao.findAllByUnitsIdAndTrainId(trainUnit.getUnitId(),trainId).stream().filter(trainUser -> trainUser.getIsSignUp()==1).map(TrainUser::getUserId).collect(Collectors.toList()))
);
}
messageService.add(new MessageBto(0, BusinessEnum.TRAIN.id, securityUser.getCurrentUserInfo().getName()+"终止了["+trainTheme.getName()+"]培训业务,本次培训作废", userIds, trainTheme.getTrainId().toString()));
//查询所有的task 同送至中止
//查询出所有以报名的单位人员
//给人员推送阅知
return ResponseEntity.ok(trainTheme);
}
/**
* 成绩查看确认
*
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论