|
@@ -189,7 +189,7 @@ public class YearRequestForLeaveInfoServiceImpl implements YearRequestForLeaveIn
|
|
|
|
|
|
Date now = new Date();
|
|
|
|
|
|
- //如果出差开始时间<=当前时间,说明是补出差记录,可能正在出差
|
|
|
+ //如果年假开始时间<=当前时间,说明是补年假记录,可能正在年假
|
|
|
if (yearRequestForLeaveInfo.getStartTime().compareTo(now) <=0){
|
|
|
personInfo.setWorkStatus("7");
|
|
|
personInfoService.update(personInfo);
|
|
@@ -200,7 +200,7 @@ public class YearRequestForLeaveInfoServiceImpl implements YearRequestForLeaveIn
|
|
|
|
|
|
log.warn("创建延时队列修改工作状态,id:"+yearRequestForLeaveInfo.getId());
|
|
|
|
|
|
- rabbitTemplate.convertAndSend("businessOutDelayExchange", "businessOutSubmit",
|
|
|
+ rabbitTemplate.convertAndSend("yearRequestForLeaveDelayExchange", "yearRequestForLeaveSubmit",
|
|
|
yearRequestForLeaveInfo.getId(), (message)->{
|
|
|
message.getMessageProperties().setHeader("x-delay",millisecond);
|
|
|
return message;
|
|
@@ -213,12 +213,12 @@ public class YearRequestForLeaveInfoServiceImpl implements YearRequestForLeaveIn
|
|
|
personInfo.setWorkStatus("1");
|
|
|
personInfoService.update(personInfo);
|
|
|
} else {
|
|
|
- //如果出差结束时间>当前时间,则延时修改状态
|
|
|
+ //如果年假结束时间>当前时间,则延时修改状态
|
|
|
long millisecond = DateUtil.betweenMs(now, yearRequestForLeaveInfo.getEndTime())+60000;
|
|
|
|
|
|
log.warn("创建延时队列修改工作状态,id:" + yearRequestForLeaveInfo.getId());
|
|
|
|
|
|
- rabbitTemplate.convertAndSend("businessOutDelayExchange", "businessOutSubmit",
|
|
|
+ rabbitTemplate.convertAndSend("yearRequestForLeaveDelayExchange", "yearRequestForLeaveSubmit",
|
|
|
yearRequestForLeaveInfo.getId(), (message) -> {
|
|
|
message.getMessageProperties().setHeader("x-delay", millisecond);
|
|
|
return message;
|
|
@@ -462,51 +462,51 @@ public class YearRequestForLeaveInfoServiceImpl implements YearRequestForLeaveIn
|
|
|
yearRequestForLeaveInfo.setUpdateTime(new Date());
|
|
|
update(yearRequestForLeaveInfo);
|
|
|
|
|
|
- int a1 = "0".equals(yearRequestForLeaveInfo.getStartTimeQuantum()) ? 0 : 43200000;
|
|
|
- int a2 = "0".equals(yearRequestForLeaveInfo.getEndTimeQuantum()) ? 43200000 : 86400000;
|
|
|
- ;
|
|
|
-
|
|
|
- Date startLong = new Date(yearRequestForLeaveInfo.getStartTime().getTime() + a1);
|
|
|
- Date endLong = new Date(yearRequestForLeaveInfo.getEndTime().getTime() + a2);
|
|
|
-
|
|
|
- //时间符合为休假,
|
|
|
-
|
|
|
- String initStatus = personInfo1.getWorkStatus();
|
|
|
- if (startLong.getTime() < new Date().getTime() && endLong.getTime() > new Date().getTime()) {
|
|
|
- personInfo1.setWorkStatus("4");//请假
|
|
|
- personInfo1.setUpdateBy(personPopedom.getPersonId().toString());
|
|
|
- personInfo1.setUpdateTime(new Date());
|
|
|
- personInfoService.update(personInfo1);
|
|
|
- }
|
|
|
-
|
|
|
- if (personInfo1.getWorkStatus() == null) {
|
|
|
- personInfo1.setWorkStatus("1");
|
|
|
- initStatus = "1";
|
|
|
- }
|
|
|
- //休假,还没开始
|
|
|
- if (startLong.getTime() > new Date().getTime()) {
|
|
|
-
|
|
|
- //防止连续请假,造成的时间重叠
|
|
|
- Long milliseconds = startLong.getTime() - new Date().getTime() + 5000;
|
|
|
- String p = "A_" + personInfo1.getId() + "_" + personInfo1.getWorkStatus() + "_" + personPopedom.getPersonId();
|
|
|
- rabbitTemplate.convertAndSend("updateWorkStatusExchange", "updateWorkStatus", p, (message) -> {
|
|
|
- //延时单位毫秒
|
|
|
- message.getMessageProperties().setHeader("x-delay", milliseconds);
|
|
|
- return message;
|
|
|
- });
|
|
|
- }
|
|
|
- //休假,结束
|
|
|
- if (endLong.getTime() > new Date().getTime()) {
|
|
|
- String p = "B_" + personInfo1.getId() + "_" + initStatus + "_" + personPopedom.getPersonId();
|
|
|
- //防止连续请假,造成的时间重叠
|
|
|
- Long milliseconds = endLong.getTime() - new Date().getTime() - 5000;
|
|
|
-
|
|
|
- rabbitTemplate.convertAndSend("updateWorkStatusExchange", "updateWorkStatus", p, (message) -> {
|
|
|
- //延时单位毫秒
|
|
|
- message.getMessageProperties().setHeader("x-delay", milliseconds);
|
|
|
- return message;
|
|
|
- });
|
|
|
- }
|
|
|
+// int a1 = "0".equals(yearRequestForLeaveInfo.getStartTimeQuantum()) ? 0 : 43200000;
|
|
|
+// int a2 = "0".equals(yearRequestForLeaveInfo.getEndTimeQuantum()) ? 43200000 : 86400000;
|
|
|
+// ;
|
|
|
+//
|
|
|
+// Date startLong = new Date(yearRequestForLeaveInfo.getStartTime().getTime() + a1);
|
|
|
+// Date endLong = new Date(yearRequestForLeaveInfo.getEndTime().getTime() + a2);
|
|
|
+//
|
|
|
+// //时间符合为休假,
|
|
|
+//
|
|
|
+// String initStatus = personInfo1.getWorkStatus();
|
|
|
+// if (startLong.getTime() < new Date().getTime() && endLong.getTime() > new Date().getTime()) {
|
|
|
+// personInfo1.setWorkStatus("4");//请假
|
|
|
+// personInfo1.setUpdateBy(personPopedom.getPersonId().toString());
|
|
|
+// personInfo1.setUpdateTime(new Date());
|
|
|
+// personInfoService.update(personInfo1);
|
|
|
+// }
|
|
|
+//
|
|
|
+// if (personInfo1.getWorkStatus() == null) {
|
|
|
+// personInfo1.setWorkStatus("1");
|
|
|
+// initStatus = "1";
|
|
|
+// }
|
|
|
+// //休假,还没开始
|
|
|
+// if (startLong.getTime() > new Date().getTime()) {
|
|
|
+//
|
|
|
+// //防止连续请假,造成的时间重叠
|
|
|
+// Long milliseconds = startLong.getTime() - new Date().getTime() + 5000;
|
|
|
+// String p = "A_" + personInfo1.getId() + "_" + personInfo1.getWorkStatus() + "_" + personPopedom.getPersonId();
|
|
|
+// rabbitTemplate.convertAndSend("updateWorkStatusExchange", "updateWorkStatus", p, (message) -> {
|
|
|
+// //延时单位毫秒
|
|
|
+// message.getMessageProperties().setHeader("x-delay", milliseconds);
|
|
|
+// return message;
|
|
|
+// });
|
|
|
+// }
|
|
|
+// //休假,结束
|
|
|
+// if (endLong.getTime() > new Date().getTime()) {
|
|
|
+// String p = "B_" + personInfo1.getId() + "_" + initStatus + "_" + personPopedom.getPersonId();
|
|
|
+// //防止连续请假,造成的时间重叠
|
|
|
+// Long milliseconds = endLong.getTime() - new Date().getTime() - 5000;
|
|
|
+//
|
|
|
+// rabbitTemplate.convertAndSend("updateWorkStatusExchange", "updateWorkStatus", p, (message) -> {
|
|
|
+// //延时单位毫秒
|
|
|
+// message.getMessageProperties().setHeader("x-delay", milliseconds);
|
|
|
+// return message;
|
|
|
+// });
|
|
|
+// }
|
|
|
|
|
|
|
|
|
}
|
|
@@ -571,6 +571,8 @@ public class YearRequestForLeaveInfoServiceImpl implements YearRequestForLeaveIn
|
|
|
if (1 == status) {
|
|
|
firstMessage = "审核通过";
|
|
|
getstatus = "1";
|
|
|
+ //延时队列处理人员工作状态
|
|
|
+ updatePersonWorkStatus(yearRequestForLeaveInfo);
|
|
|
|
|
|
} else {
|
|
|
firstMessage = "审核拒绝";
|