|
@@ -1,6 +1,5 @@
|
|
package com.rongwei.trainingcommon.sys.service.impl;
|
|
package com.rongwei.trainingcommon.sys.service.impl;
|
|
|
|
|
|
-import cn.hutool.core.thread.ExecutorBuilder;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.rongwei.rwadmincommon.system.domain.SysUserDo;
|
|
import com.rongwei.rwadmincommon.system.domain.SysUserDo;
|
|
@@ -9,16 +8,20 @@ import com.rongwei.rwadmincommon.system.vo.SysUserVo;
|
|
import com.rongwei.rwcommon.base.BaseDo;
|
|
import com.rongwei.rwcommon.base.BaseDo;
|
|
import com.rongwei.rwcommon.utils.StringUtils;
|
|
import com.rongwei.rwcommon.utils.StringUtils;
|
|
import com.rongwei.safecommon.utils.CXCommonUtils;
|
|
import com.rongwei.safecommon.utils.CXCommonUtils;
|
|
-import com.rongwei.training.domain.*;
|
|
|
|
-import com.rongwei.trainingcommon.sys.service.*;
|
|
|
|
|
|
+import com.rongwei.training.domain.EmpCourseDo;
|
|
|
|
+import com.rongwei.training.domain.PlanCourseDo;
|
|
|
|
+import com.rongwei.training.domain.PlanDo;
|
|
|
|
+import com.rongwei.training.domain.TrainingDemandSurveyBackupsDo;
|
|
|
|
+import com.rongwei.trainingcommon.sys.service.EmpExamService;
|
|
|
|
+import com.rongwei.trainingcommon.sys.service.PlanPaperService;
|
|
|
|
+import com.rongwei.trainingcommon.sys.service.PlanService;
|
|
|
|
+import com.rongwei.trainingcommon.sys.service.TrainingSendNotifyService;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
-import java.util.concurrent.ThreadPoolExecutor;
|
|
|
|
-import java.util.concurrent.TimeUnit;
|
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.rongwei.safecommon.utils.SaveConstans.NotifyContent.*;
|
|
import static com.rongwei.safecommon.utils.SaveConstans.NotifyContent.*;
|
|
@@ -91,9 +94,9 @@ public class TrainingSendNotifyServiceImpl implements TrainingSendNotifyService
|
|
// Set<String> planId = closePlanPaper.stream().map(PlanPaperDo::getTrainingplanid).collect(Collectors.toSet());
|
|
// Set<String> planId = closePlanPaper.stream().map(PlanPaperDo::getTrainingplanid).collect(Collectors.toSet());
|
|
/*****获取没有参与课程培训的培训员工******/
|
|
/*****获取没有参与课程培训的培训员工******/
|
|
List<EmpCourseDo> toTestInfoList = empCourseService.list(new LambdaQueryWrapper<EmpCourseDo>()
|
|
List<EmpCourseDo> toTestInfoList = empCourseService.list(new LambdaQueryWrapper<EmpCourseDo>()
|
|
- .eq(BaseDo::getDeleted, "0")
|
|
|
|
- .in(EmpCourseDo::getPlanid, planId)
|
|
|
|
- .in(EmpCourseDo::getPlancourseid,planCourseDoList.stream().map(PlanCourseDo::getId))
|
|
|
|
|
|
+ .eq(BaseDo::getDeleted, "0")
|
|
|
|
+ .in(EmpCourseDo::getPlanid, planId)
|
|
|
|
+ .in(EmpCourseDo::getPlancourseid, planCourseDoList.stream().map(PlanCourseDo::getId).collect(Collectors.toList()))
|
|
.last("and COURSETIME*60 <> ifnull(COURSEUSETIME,0)")
|
|
.last("and COURSETIME*60 <> ifnull(COURSEUSETIME,0)")
|
|
);
|
|
);
|
|
if (toTestInfoList.isEmpty()) {
|
|
if (toTestInfoList.isEmpty()) {
|
|
@@ -109,7 +112,7 @@ public class TrainingSendNotifyServiceImpl implements TrainingSendNotifyService
|
|
PlanDo planDo = planDoList.stream().filter(info -> info.getId().equals(k)).findFirst().get();
|
|
PlanDo planDo = planDoList.stream().filter(info -> info.getId().equals(k)).findFirst().get();
|
|
v.forEach((courseName,infos)->{
|
|
v.forEach((courseName,infos)->{
|
|
log.info("准备发送课程截止提醒邮件");
|
|
log.info("准备发送课程截止提醒邮件");
|
|
- CXCommonUtils.sendNotify(CUT_OFF_TRAIN_TITLE, String.format(CUT_OFF_TRAIN_CONTENT,courseName, planDo.getTrainingendtimt()), "",
|
|
|
|
|
|
+ CXCommonUtils.sendNotify(CUT_OFF_TRAIN_TITLE, String.format(CUT_OFF_TRAIN_CONTENT,planDo.getCoursename(), planDo.getTrainingendtimt()), "",
|
|
infos.stream().filter(StringUtils::isNotBlank).collect(Collectors.toList())
|
|
infos.stream().filter(StringUtils::isNotBlank).collect(Collectors.toList())
|
|
, planDo.getId(), TRAINING);
|
|
, planDo.getId(), TRAINING);
|
|
});
|
|
});
|