提交 16450d9c authored 作者: 133's avatar 133

[培训 用户] 代码提交

上级 6e55b74d
......@@ -187,7 +187,7 @@ public enum LogType {
SEND_BACK_26(100016,SEND_BACK.id, SEND_BACK_1214.id,END.id , "上传相关签字单据,任务弯沉"),
SEND_BACK_27(100017,SEND_BACK.id, SEND_BACK_1202.id,SEND_BACK_1213.id , "省直属单位清退装备选择完成,等待签字单据上传"),
SEND_BACK_28(100018,SEND_BACK.id, SEND_BACK_1213.id,END.id , "上传了直属单位清退签字单据"),
SEND_BACK_29(100019,SEND_BACK.id, SEND_BACK_1209.id,SEND_BACK_1215.id , "单据未上传,继续等待相关单据上传"),
SEND_BACK_29(100019,SEND_BACK.id, SEND_BACK_1209.id,SEND_BACK_1215.id , "签字单据未上传,继续等待相关单据上传"),
SEND_BACK_30(100020,SEND_BACK.id, SEND_BACK_1208.id,SEND_BACK_1217.id , "调用电子签章,等待审核"),
SEND_BACK_31(100021,SEND_BACK.id, SEND_BACK_1217.id,SEND_BACK_1219.id , "电子签章调用审核通过,等待盖章出库"),
SEND_BACK_32(100022,SEND_BACK.id, SEND_BACK_1217.id,SEND_BACK_1208.id , "电子签章调用审核不通过,等待重新出库"),
......@@ -201,7 +201,7 @@ public enum LogType {
SEND_BACK_40(100030,SEND_BACK.id, SEND_BACK_1208.id,END.id , "本次提交任务无装备,任务结束"),
SEND_BACK_41(100031,SEND_BACK.id, SEND_BACK_1215.id,END.id , "清退装备任务,上传了签收单据,任务结束"),
SEND_BACK_42(100032,SEND_BACK.id, SEND_BACK_1218.id,END.id , "使用签章或上传相关单据,清退装备任务结束"),
// SEND_BACK_43(100033,SEND_BACK.id, SEND_BACK_1209.id,SEND_BACK_1215.id , "签字单据未上传,继续等待相关单据上传"),
......
......@@ -193,9 +193,7 @@ public class TrainJobController {
List<Integer> list = new ArrayList<>();
list.add(0);
TaskBto taskBto= new TaskBto(StatusEnum.TRAIN1002.id, trainTheme.getName(), task.getId(), task.getId().toString(), trainTheme.getTrainId(), BusinessEnum.TRAIN_SIGN_UP.id, unitId, 0, null, list);
taskBto=taskService.start(taskBto);
// taskBto.setCreateUserId(null);
// taskService.update(taskBto);
taskService.start(taskBto);
}
);
if (securityUser.getCurrentUserInfo().getUnits().getLevel()==1){
......@@ -242,7 +240,7 @@ public class TrainJobController {
trainUser.setArriveTime(signUpUser.getArriveTime());
trainUser.setLeaveMeal(signUpUser.getLeaveMeal());
trainUser.setLeaveTime(signUpUser.getLeaveTime());
userLogService.save(new UserLog(securityUser.getCurrentUserInfo().getUserId(),new Date(),"报名参加培训"));
userLogService.save(new UserLog(trainUser.getUserId(),new Date(),"报名参加培训"));
} else {
trainUser.setIsSignUp(2);
trainUser.setNote(signUpUser.getNote());
......@@ -252,9 +250,9 @@ public class TrainJobController {
});
TaskLogBto taskLogBto = new TaskLogBto(taskId, "提交了培训名单", null);
taskLogService.addLog(taskLogBto);
userLogService.save(new UserLog(securityUser.getCurrentUserInfo().getUserId(),new Date(),"不参加培训"));
// userLogService.save(new UserLog(securityUser.getCurrentUserInfo().getUserId(),new Date(),"不参加培训"));
taskBto.setCreateUserId(securityUser.getCurrentUserInfo().getUserId());
taskBto = taskService.moveToSpecial(taskBto, StatusEnum.TRAIN1003, -1);
taskBto = taskService.moveToEnd(taskBto);
trainUnitDao.save(trainUnit);
List<Integer> userIds=userService.findAllByUnite(securityUser.getCurrentUserInfo().getUnitsId()).stream().map(User::getUserId).collect(Collectors.toList());
userIds.addAll(userService.findAllByUnite(trainTheme.getUnitsId()).stream().map(User::getUserId).collect(Collectors.toList()));
......@@ -323,9 +321,9 @@ public class TrainJobController {
//判断是否为线上培训 如是 则任务发给个人 如不是 则给单位推送任务。
if (trainTheme.getTrainType()==1) {
trainTaskService.selectBillidAndBillType(trainId, BusinessEnum.TRAIN_SIGN_UP.id, StatusEnum.TRAIN1010.id).forEach(
taskBto1 -> taskService.moveToSpecial(taskBto1, StatusEnum.TRAIN1004, taskBto1.getInvolveUserIdList().get(0))
);
// trainTaskService.selectBillidAndBillType(trainId, BusinessEnum.TRAIN_SIGN_UP.id, StatusEnum.TRAIN1010.id).forEach(
// taskBto1 -> taskService.moveToSpecial(taskBto1, StatusEnum.TRAIN1004, taskBto1.getInvolveUserIdList().get(0))
// );
}else {
// trainTaskService.selectBillidAndBillType(trainId, BusinessEnum.TRAIN_SIGN_UP.id, StatusEnum.TRAIN1003.id).forEach(
// taskBto1 -> taskService.moveToEnd(taskBto1)
......@@ -425,7 +423,7 @@ public class TrainJobController {
trainUser.setOnlineStatus(2);
trainUserDao.save(trainUser);
TaskBto taskBto = taskService.get(testPaper.getTaskId());
taskService.moveToSpecial(taskBto,StatusEnum.TRAIN1013,-1);
taskService.moveToSpecial(taskBto,StatusEnum.TRAIN1013);
testPaper = testPaperDao.save(testPaper);
return ResponseEntity.ok(testPaper);
}
......@@ -582,9 +580,6 @@ public class TrainJobController {
gradeEntryVo.getGradeEntryList().forEach(
gradeEntry -> {
if (gradeEntry.getCertificate() == 0) {
User user = userService.findByUser(gradeEntry.getUserId());
user.setTrainStatus(0);
userService.save(user);
mgrcertService.save(gradeEntry.toDo());
userLogService.save(new UserLog(gradeEntry.getUserId(), new Date(), "通过培训获得证书"));
}
......@@ -592,7 +587,8 @@ public class TrainJobController {
);
}
});
List<Integer> userIds= gradeEntryVo.getGradeEntryList().stream().map(GradeEntry::getUserId).collect(Collectors.toList());
userService.updateUserTrainStatus(userIds,0);
trainTheme.setTrainPapersFiles(FilesUtil.stringFileToList(gradeEntryVo.getTrainPapersFileList()));
trainTheme.setTrainDataFiles(FilesUtil.stringFileToList(gradeEntryVo.getTrainDataFileList()));
taskService.moveToEnd(taskBto);
......@@ -604,19 +600,26 @@ public class TrainJobController {
trainUser.setScore(gradeEntry.getScore());
trainUser.setEvaluation(gradeEntry.getEvaluation());
trainUser.setCertificate(gradeEntry.getCertificate());
// trainUserDao.save(trainUser);
saveTrainUser(trainUser);
}
);
trainTheme.setPass(gradeEntryVo.getPass());
trainTheme.setGood(gradeEntryVo.getGood());
trainTheme.setIsCertificate(gradeEntryVo.getIsCertificate());
trainTaskService.selectBillidAndBillType(gradeEntryVo.getTrainThemeId(), BusinessEnum.TRAIN_SIGN_UP.id, StatusEnum.TRAIN1003.id).forEach(
//
if (trainTheme.getTrainType()==0) {
trainTaskService.selectBillidAndBillType(gradeEntryVo.getTrainThemeId(), BusinessEnum.TRAIN_STUDY.id, StatusEnum.TRAIN1013.id).forEach(
taskBto1 -> {
//
taskService.moveToSpecial(taskBto1, StatusEnum.TRAIN1009,0);
taskService.moveToSpecial(taskBto1, StatusEnum.TRAIN1009);
}
);
}else {
gradeEntryVo.getGradeEntryList().forEach(
gradeEntry -> {
onlineLearningTaskCheck(trainTheme.getTrainId(),taskBto.getId(),trainTheme.getName(),gradeEntry.getUserId(),null);
}
);
}
trainThemeService.save(trainTheme);
TaskLogBto taskLogBto = new TaskLogBto(taskBto.getId(), "审核通过", null);
taskLogService.addLog(taskLogBto);
......@@ -647,6 +650,12 @@ public class TrainJobController {
return ResponseEntity.ok(trainThemeService.findByTrainingPeople(trainId, securityUser.getCurrentUserInfo().getUserId()));
}
@ApiOperation(value = "成绩确认页面接口,查看成绩页面接口")
@GetMapping("/train/check/{trainId}")
public ResponseEntity resultsConfirmCheck(@ApiIgnore @AuthenticationPrincipal SecurityUser securityUser, @PathVariable Integer trainId) {
return ResponseEntity.ok(trainThemeService.findByTrainingPeople(trainId, securityUser.getCurrentUserInfo().getUserId()));
}
@ApiOperation(value = "报名中请求的详情接口")
@GetMapping("/trainRegistration/{trainId}")
public ResponseEntity TrainRegistrationVo(@ApiIgnore @AuthenticationPrincipal SecurityUser securityUser, @PathVariable Integer trainId) {
......@@ -699,4 +708,13 @@ public class TrainJobController {
list.add(userId);
return taskService.start(new TaskBto(StatusEnum.TRAIN1012.id,title , parentTaskId, ".", trainId, BusinessEnum.TRAIN_STUDY.id, ownUnitId, 0, "online", list));
}
/**
* 线上培训业务 线上学习任务生成 成绩确认
*/
private TaskBto onlineLearningTaskCheck(Integer trainId, Integer parentTaskId,String title,Integer userId,Integer ownUnitId){
List<Integer> list=new ArrayList<>();
list.add(userId);
return taskService.start(new TaskBto(StatusEnum.TRAIN1009.id,title , parentTaskId, ".", trainId, BusinessEnum.TRAIN_STUDY.id, ownUnitId, 0, "online", list));
}
}
......@@ -220,6 +220,11 @@ public class TrainTheme {
return mapper.map(this, ByTrainingPeople.class);
}
public ByTrainingPeopleCheck toByTrainingPeopleCheck() {
ModelMapper mapper = BeanHelper.getUserMapper();
return mapper.map(this, ByTrainingPeopleCheck.class);
}
public TrainThemeVo toTrainThemeVo() {
ModelMapper mapper = BeanHelper.getUserMapper();
return mapper.map(this, TrainThemeVo.class);
......
package com.tykj.dev.device.train.entity.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tykj.dev.device.file.entity.FileRet;
import com.tykj.dev.device.train.entity.GenerateTestPaper;
import com.tykj.dev.device.train.entity.TrainUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;
/**
* @author zjm
* @version 1.0.0
* @ClassName ByTrainingPeople.java
* @Description 被培训人vo类
* @createTime 2020年08月18日 15:06:00
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ByTrainingPeopleCheck {
/**
* 培训id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty(value = "培训id")
private Integer trainId;
/**
* 培训主题
*/
@ApiModelProperty(value = "培训主题")
private String name;
/**
* 报名截止时间
*/
@ApiModelProperty(value = "报名截止时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date trainTime;
/**
* 发起人 originator
*/
@ApiModelProperty(value = "发起人")
private String originatorName;
/**
* 发起人 originator
*/
@ApiModelProperty(value = "发起人id")
private Integer originatorId;
/**
* 主办单位
*/
@ApiModelProperty(value = "主办单位名称")
private String unitsName;
/**
* 主办单位
*/
@ApiModelProperty(value = "主办单位")
private Integer unitsId;
/**
* 培训开始时间
*/
@ApiModelProperty(value = "培训开始时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date startTime;
/**
* 培训结束时间
*/
@ApiModelProperty(value = "培训结束时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date endTime;
/**
* 培训地点
*/
@ApiModelProperty(value = "培训地点")
private String trainLocation;
/**
* 主讲人
*/
@ApiModelProperty(value = "主讲人")
private String speakerUserId;
@ApiModelProperty(value = "培训资料集合")
private List<FileRet> trainDataFileList;
/**
* 培训简介
*/
@ApiModelProperty(value = "trainSynopsis", name = "trainSynopsis")
private String trainSynopsis;
/**
* 培训状态 1报名中 2待培训 3培训中
*/
@ApiModelProperty(value = "培训状态", name = "trainStatus")
private Integer trainStatus;
/**
* 培训类别
*/
@ApiModelProperty(value = "培训类别", name = "trainType")
private Integer trainType;
/**
* 考试时间限制
*/
private Integer examinationTL;
/**
* 本单位需要参加培训的人员
*/
@ApiModelProperty(value = "培训的人员信息",name = "trainUserList")
TrainUser trainUser;
@ApiModelProperty(value = "课件集合")
private List<CoursewareFile> coursewareFileList;
@Transient
private GenerateTestPaper generateTestPaper;
}
......@@ -28,6 +28,8 @@ public interface TrainThemeService {
ByTrainingPeople findByTrainingPeople(Integer trainThemeId, Integer userId);
ByTrainingPeopleCheck findByTrainingPeopleCheck(Integer trainThemeId, Integer userId);
TrainRegistrationVo findRegistrationVo(Integer trainThemeId);
TrainTrainingVo findTrainTrainingVo(Integer trainThemeId);
......
......@@ -150,6 +150,18 @@ public class TrainThemeServiceImpl implements TrainThemeService {
return byTrainingPeople;
}
@Override
public ByTrainingPeopleCheck findByTrainingPeopleCheck(Integer trainThemeId, Integer userId) {
TrainTheme trainTheme = trainThemeDao.findById(trainThemeId).get();
ByTrainingPeopleCheck byTrainingPeople = trainTheme.toByTrainingPeopleCheck();
TrainUser trainUser=trainUserDao.findByUserIdAndTrainId(userId,trainThemeId);
byTrainingPeople.setCoursewareFileList(JacksonUtil.readValue(trainTheme.getCoursewareFiles(), new TypeReference<List<CoursewareFile>>() {}));
byTrainingPeople.setGenerateTestPaper(JacksonUtil.readValue(trainTheme.getGenerateTestPaperString(), GenerateTestPaper.class));
byTrainingPeople.setTrainDataFileList(FilesUtil.stringFileToList(trainTheme.getTrainDataFiles()));
byTrainingPeople.setTrainUser(trainUser);
return byTrainingPeople;
}
@Override
public TrainRegistrationVo findRegistrationVo(Integer trainThemeId) {
......
......@@ -3,9 +3,12 @@ package com.tykj.dev.device.user.subject.dao;
import com.tykj.dev.device.user.subject.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import javax.transaction.Transactional;
import java.util.List;
@Repository
......@@ -23,5 +26,10 @@ public interface UserDao extends JpaRepository<User, Integer>, JpaSpecificationE
List<User> findAllByIsDel(Integer isDel);
@Transactional
@Modifying
@Query("update User o set o.trainStatus = :trainStatus where o.userId in :userIds")
int upDateUserIdsAndTrainStatus(@Param("userIds") List<Integer> userIds,Integer trainStatus);
}
......@@ -172,4 +172,6 @@ public interface UserService extends PublicService<User> {
void deleteById(Integer userId);
void updateUserTrainStatus(List<Integer> userIds,Integer status);
}
......@@ -560,6 +560,11 @@ public class UserServiceImpl implements UserService {
userDao.save(user);
}
@Override
public void updateUserTrainStatus(List<Integer> userIds, Integer status) {
userDao.upDateUserIdsAndTrainStatus(userIds,status);
}
private List<Integer> to(List<Integer> ids,Area area){
if (area.getFatherId()==null){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论