实验任务通知

liweidong
pangyang 4 weeks ago
parent 6fcb84d176
commit ca35c02897
  1. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java
  2. 29
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/util/JobExtUtil.java

@ -19,6 +19,8 @@ import org.springblade.desk.basic.config.RoleConfig;
import org.springblade.desk.basic.constant.BaseCol; import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.constant.BaseValue; import org.springblade.desk.basic.constant.BaseValue;
import org.springblade.desk.basic.util.RoleUtil; import org.springblade.desk.basic.util.RoleUtil;
import org.springblade.desk.common.feign.IMesNotifyMessageClient;
import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
import org.springblade.desk.quality.constant.CycleTestConst; import org.springblade.desk.quality.constant.CycleTestConst;
import org.springblade.desk.quality.constant.CycleTestTaskConst; import org.springblade.desk.quality.constant.CycleTestTaskConst;
import org.springblade.desk.quality.constant.InspectionTaskConst; import org.springblade.desk.quality.constant.InspectionTaskConst;
@ -93,6 +95,8 @@ public class CycleTestTaskService2 {
private IAttachClient attachClient; private IAttachClient attachClient;
@Resource @Resource
private RoleConfig roleConfig; private RoleConfig roleConfig;
@Resource
private IMesNotifyMessageClient mesNotifyMessageClient;
/** /**
* list * list
@ -211,6 +215,11 @@ public class CycleTestTaskService2 {
// 判断结果对象 // 判断结果对象
Object objAdvance = JobExtUtil.isAdvanceTargetDay(je, ct.getGenBefore()); Object objAdvance = JobExtUtil.isAdvanceTargetDay(je, ct.getGenBefore());
if (objAdvance != null) { if (objAdvance != null) {
MesNotifyMessageEntity mesNotifyMessageEntity = new MesNotifyMessageEntity();
mesNotifyMessageEntity.setContent("您有实验任务");
mesNotifyMessageEntity.setReceiveUserId(ct.getProcessUserId());
mesNotifyMessageClient.save(mesNotifyMessageEntity);
log.info("match je config = {}", objAdvance); log.info("match je config = {}", objAdvance);
// 试验时间 // 试验时间
LocalDate testDate = LocalDate.now().plusDays(ct.getGenBefore()); LocalDate testDate = LocalDate.now().plusDays(ct.getGenBefore());

@ -158,8 +158,34 @@ public class JobExtUtil {
} }
} else if (type == YEAR) { } else if (type == YEAR) {
String config = je.getJobTypeYearValue(); String config = je.getJobTypeYearValue();
// 获取当月最后一天
LocalDate lastLD = LocalDate.of(today.getYear(), today.getMonth(), 1)
.with(TemporalAdjusters.lastDayOfMonth());
log.info("当月最后一天:{}", lastLD);
// 当月最多多少天
Integer maxDay = lastLD.getDayOfMonth();
//如果超了就设置为最后一天
List<String> list = Arrays.asList(config.split(","));
String str = "";
for(String one : list){
String m = one.substring(0, 2);
String d = one.substring(2);
int month = Integer.parseInt(one.substring(0, 2));
int day = Integer.parseInt(one.substring(2));
if(day>maxDay){
day = maxDay;
d = day+"";
}
str = str+m+""+d+",";
}
str = str.substring(0,str.length()-1);
// 解析配置为年度目标日期(MonthDay 仅存月+日,不关联年份) // 解析配置为年度目标日期(MonthDay 仅存月+日,不关联年份)
Set<MonthDay> targetMonthDays = Arrays.stream(config.split(",")) Set<MonthDay> targetMonthDays = Arrays.stream(str.split(","))
.map(String::trim) .map(String::trim)
.map(dateStr -> { .map(dateStr -> {
// 解析 0201 → 月=2,日=1;1020 → 月=10,日=20 // 解析 0201 → 月=2,日=1;1020 → 月=10,日=20
@ -176,6 +202,7 @@ public class JobExtUtil {
if (targetMonthDays.contains(futureMonthDay)) { if (targetMonthDays.contains(futureMonthDay)) {
return futureMonthDay; return futureMonthDay;
} else { } else {
MonthDay leapDay = MonthDay.of(2, 29); MonthDay leapDay = MonthDay.of(2, 29);
if (targetMonthDays.contains(leapDay)) { // 有配置0229 if (targetMonthDays.contains(leapDay)) { // 有配置0229
if (!Year.now().isLeap()) { // 不是闰年 特殊情况 if (!Year.now().isLeap()) { // 不是闰年 特殊情况

Loading…
Cancel
Save