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

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

添加培训终止接口
上级 82c3406a
...@@ -9,6 +9,7 @@ import com.tykj.dev.device.task.service.TaskLogService; ...@@ -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.service.TaskService;
import com.tykj.dev.device.task.subject.bto.TaskBto; 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.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.OnlineTainUserTimeDao;
import com.tykj.dev.device.train.dao.TestPaperDao; import com.tykj.dev.device.train.dao.TestPaperDao;
import com.tykj.dev.device.train.dao.TrainUnitDao; import com.tykj.dev.device.train.dao.TrainUnitDao;
...@@ -122,12 +123,11 @@ public class TrainJobController { ...@@ -122,12 +123,11 @@ public class TrainJobController {
public ResponseEntity newTrain(@ApiIgnore @AuthenticationPrincipal SecurityUser securityUser, @RequestBody TrainThemeAddVo trainThemeAddVo) { public ResponseEntity newTrain(@ApiIgnore @AuthenticationPrincipal SecurityUser securityUser, @RequestBody TrainThemeAddVo trainThemeAddVo) {
TrainTheme trainThemeNoDb= trainThemeAddVo.toDo(); TrainTheme trainThemeNoDb= trainThemeAddVo.toDo();
trainThemeNoDb.setTrainDataFiles(FilesUtil.stringFileToList(trainThemeAddVo.getTrainDataFileList())); trainThemeNoDb.setTrainDataFiles(FilesUtil.stringFileToList(trainThemeAddVo.getTrainDataFileList()));
trainThemeNoDb.setCoursewareFiles(JacksonUtil.toJSon(trainThemeAddVo.getCoursewareFileList()));
trainThemeNoDb.setGenerateTestPaperString(JacksonUtil.toJSon(trainThemeAddVo.getGenerateTestPaper()));
TrainTheme trainTheme = trainThemeService.save(trainThemeNoDb); 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<User> userList=userService.findUnitsIdInUsers(trainThemeAddVo.getUnitsIds());
List<Integer> needTrain = new ArrayList<>(); //添加培训用户信息
List<Integer> normal = new ArrayList<>();
userList.forEach( userList.forEach(
user -> { user -> {
if (user.getTrainStatus()==1 || user.getTrainStatus()==2){ if (user.getTrainStatus()==1 || user.getTrainStatus()==2){
...@@ -145,6 +145,7 @@ public class TrainJobController { ...@@ -145,6 +145,7 @@ public class TrainJobController {
} }
} }
); );
//添加培训单位
List<TrainUnit> trainUnits=new ArrayList<>(); List<TrainUnit> trainUnits=new ArrayList<>();
trainThemeAddVo.getUnitsIds().forEach( trainThemeAddVo.getUnitsIds().forEach(
unitId->{ unitId->{
...@@ -157,26 +158,7 @@ public class TrainJobController { ...@@ -157,26 +158,7 @@ public class TrainJobController {
); );
trainUnitDao.saveAll(trainUnits); 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<>(); List<Integer> integers = new ArrayList<>();
integers.add(securityUser.getCurrentUserInfo().getUserId()); 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); 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 { ...@@ -184,7 +166,6 @@ public class TrainJobController {
taskVo.setCustomInfo("online"); taskVo.setCustomInfo("online");
} }
TaskBto task = taskService.start(taskVo); TaskBto task = taskService.start(taskVo);
trainTheme.setTrainStatus(StatusEnum.TRAIN1000.id); trainTheme.setTrainStatus(StatusEnum.TRAIN1000.id);
trainThemeAddVo.getUnitsIds().forEach( trainThemeAddVo.getUnitsIds().forEach(
unitId->{ unitId->{
...@@ -630,6 +611,37 @@ public class TrainJobController { ...@@ -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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论