|
@@ -2,16 +2,20 @@ package com.factory.init;
|
|
|
|
|
|
import com.factory.base.entity.task.FirstCalendar;
|
|
|
import com.factory.base.entity.task.SendMsgReq;
|
|
|
+import com.factory.base.util.time.TimeConvert;
|
|
|
import com.factory.common.CommonUtil;
|
|
|
import com.factory.service.FirstTaskService;
|
|
|
import com.factory.service.MsgService;
|
|
|
import com.factory.websocket.WsSessionManager;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.quartz.DisallowConcurrentExecution;
|
|
|
import org.quartz.Job;
|
|
|
import org.quartz.JobExecutionContext;
|
|
|
import org.quartz.JobExecutionException;
|
|
|
import org.springframework.web.socket.TextMessage;
|
|
|
|
|
|
+import java.time.LocalTime;
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.Callable;
|
|
|
import java.util.concurrent.ConcurrentMap;
|
|
@@ -131,34 +135,33 @@ public class FirstRemindJob implements Job {
|
|
|
String day = null;
|
|
|
String format = "yyyy-MM-dd HH:mm";
|
|
|
for (FirstCalendar cal : cals) {
|
|
|
- if (cal.getStart_day() != null && cal.getStart_day().trim().length() > 0) {
|
|
|
- day = cal.getTask_time() + " " + cal.getStart_day();
|
|
|
+ if (StringUtils.isNotBlank(cal.getFirstStart())) {
|
|
|
+ day = cal.getTaskTime() + " " + cal.getFirstStart();
|
|
|
format = "yyyy-MM-dd HH:mm";
|
|
|
} else {
|
|
|
- day = cal.getTask_time();
|
|
|
+ day = cal.getTaskTime();
|
|
|
format = "yyyy-MM-dd";
|
|
|
}
|
|
|
boolean flag = CommonUtil.getDateCompare(CommonUtil.getStrDate(day, format, 0), new Date(), false);
|
|
|
if (flag) {
|
|
|
- String token = String.valueOf(cal.getUser_id());
|
|
|
- if (WsSessionManager.SESSION_POOL.containsKey(token)) {
|
|
|
- try {
|
|
|
- WsSessionManager.SESSION_POOL.get(token).
|
|
|
- sendMessage(new TextMessage("有一个首件巡检需要处理,请及时操作!"));
|
|
|
- //update onsite_task set ${flag}=${flagVal} where id=${onsite_task_id}
|
|
|
- Map<String, Object> qm = new HashMap<>();
|
|
|
- qm.put("flag", "remind_task_flag");
|
|
|
- qm.put("flagVal", remind_handle_flag);
|
|
|
- qm.put("first_task_id", cal.getFirst_task_id());
|
|
|
- firstTaskService.updateFirstRemindFlag(qm);
|
|
|
- } catch (Throwable e) {
|
|
|
- e.printStackTrace();
|
|
|
+ String tokenA = String.valueOf(cal.getPrincipalOneId());
|
|
|
+ String tokenB = String.valueOf(cal.getPrincipalTwoId());
|
|
|
+ Arrays.asList(tokenA, tokenB).forEach(token -> {
|
|
|
+ if (WsSessionManager.SESSION_POOL.containsKey(token)) {
|
|
|
+ try {
|
|
|
+ WsSessionManager.SESSION_POOL.get(token).
|
|
|
+ sendMessage(new TextMessage("有一个首件巡检需要处理,请及时操作!"));
|
|
|
+ Map<String, Object> qm = new HashMap<>();
|
|
|
+ qm.put("flag", "remind_task_flag");
|
|
|
+ qm.put("flagVal", remind_handle_flag);
|
|
|
+ qm.put("first_task_id", cal.getFirstTaskId());
|
|
|
+ firstTaskService.updateFirstRemindFlag(qm);
|
|
|
+ } catch (Throwable e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
+ });
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
@@ -188,12 +191,14 @@ public class FirstRemindJob implements Job {
|
|
|
String format = "yyyy-MM-dd HH:mm";
|
|
|
int min;
|
|
|
for (FirstCalendar cal : cals) {
|
|
|
- if (cal.getStart_day() != null && cal.getStart_day().trim().length() > 0) {
|
|
|
- day = cal.getTask_time() + " " + cal.getStart_day();
|
|
|
+ if (StringUtils.isNotBlank(cal.getFirstStart())) {
|
|
|
+ day = cal.getTaskTime() + " " + cal.getFirstStart();
|
|
|
format = "yyyy-MM-dd HH:mm";
|
|
|
- min = cal.getDay_outtime() + cal.getDay_validate();
|
|
|
+ LocalTime temporal1Inclusive = TimeConvert.timeString2time(TimeConvert.timeString2String(cal.getFirstRemind(), cal.getUpleverTimeNum(), "HH:mm"), 0);
|
|
|
+ LocalTime temporal2Inclusive = TimeConvert.timeString2time(cal.getFirstStart(), 0);
|
|
|
+ min = Integer.parseInt(ChronoUnit.MINUTES.between(temporal1Inclusive, temporal2Inclusive)+"");
|
|
|
} else {
|
|
|
- day = cal.getTask_time() + " " + cal.getTwo_hundred_submit_time();
|
|
|
+ day = cal.getTaskTime() + " " + cal.getTwoRemind();
|
|
|
format = "yyyy-MM-dd HH:mm";
|
|
|
min = 0;
|
|
|
}
|
|
@@ -204,12 +209,12 @@ public class FirstRemindJob implements Job {
|
|
|
Long userid = firstTaskService.getRemindNoworkToManager(map);
|
|
|
if (userid != null && userid > 0) {
|
|
|
map = new HashMap();
|
|
|
- map.put("task_id", cal.getFirst_task_id());
|
|
|
+ map.put("task_id", cal.getFirstTaskId());
|
|
|
map.put("approval_user_id", userid);
|
|
|
map.put("task_type", type);
|
|
|
map.put("flag", "remind_nowork_flag");
|
|
|
map.put("flagVal", remind_handle_flag);
|
|
|
- map.put("first_task_id", cal.getFirst_task_id());
|
|
|
+ map.put("first_task_id", cal.getFirstTaskId());
|
|
|
firstTaskService.addRemindNowork(map);
|
|
|
|
|
|
//需要推动调用这个 todo
|