Commit 57a1110a authored by 赵啸非's avatar 赵啸非

添加钉钉对接流程代码

parent 06582d3b
...@@ -86,7 +86,11 @@ public class DingMessageController { ...@@ -86,7 +86,11 @@ public class DingMessageController {
// 存入数据库 // 存入数据库
// log.info("发生了:" + eventType + "事件" ); // log.info("发生了:" + eventType + "事件" );
dingPersonService.handleByProcessInstanceId(processInstanceId); dingPersonService.handleByProcessInstanceId(processInstanceId);
} else { } else if("attendance_check_record".equals(eventType)){
log.info("考勤监察事件:{}",eventJson.toJSONString() );
}else {
// 添加其他已注册的 // 添加其他已注册的
log.info("发生了:" + eventType + "事件"); log.info("发生了:" + eventType + "事件");
} }
......
...@@ -330,6 +330,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -330,6 +330,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
private void calLeaveDate(CommonData commonData, Date startLeaveTime, Date endLeaveTime) { private void calLeaveDate(CommonData commonData, Date startLeaveTime, Date endLeaveTime) {
//当日 请假开始时间 //当日 请假开始时间
//修改当日记录集 //修改当日记录集
List<AttendanceRecordDetailEntity> detailEntityList = commonData.getDetailEntityList(); List<AttendanceRecordDetailEntity> detailEntityList = commonData.getDetailEntityList();
for (AttendanceRecordDetailEntity detail : detailEntityList) { for (AttendanceRecordDetailEntity detail : detailEntityList) {
Integer goWorkResult = detail.getGoWorkResult(); Integer goWorkResult = detail.getGoWorkResult();
...@@ -341,6 +342,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -341,6 +342,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
//判断 异常记录是否在请假时间段内 如果缺卡是没有goWorkDate的 //判断 异常记录是否在请假时间段内 如果缺卡是没有goWorkDate的
if (ObjectUtils.isEmpty(goWorkDate)) { if (ObjectUtils.isEmpty(goWorkDate)) {
//goWorkDate为空 缺卡状态 //goWorkDate为空 缺卡状态
//todo 针对补卡申请 只有一个时间 当前时间和班次对应 不在区间里
Date goWorkDate1 = attendanceClassDetailEntity.getGoWorkDate(); Date goWorkDate1 = attendanceClassDetailEntity.getGoWorkDate();
if (attendanceClassDetailEntity.getGoWorkDateAfter() > 0) { if (attendanceClassDetailEntity.getGoWorkDateAfter() > 0) {
goWorkDate1 = DateUtil.offsetMinute(goWorkDate1, attendanceClassDetailEntity.getGoWorkDateAfter()); goWorkDate1 = DateUtil.offsetMinute(goWorkDate1, attendanceClassDetailEntity.getGoWorkDateAfter());
...@@ -357,6 +359,10 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -357,6 +359,10 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
detail.setGoWorkResult(GoWorkResultEnum.请假.getValue()); detail.setGoWorkResult(GoWorkResultEnum.请假.getValue());
} }
} }
if (startLeaveTime.getTime() == endLeaveTime.getTime()) {
//请假时间相同 是申请补卡 做正常记录
detail.setGoWorkResult(GoWorkResultEnum.正常.getValue());
}
} }
if (GoWorkResultEnum.请假.getValue() < offWorkResult) { if (GoWorkResultEnum.请假.getValue() < offWorkResult) {
//判断 异常记录是否在请假时间段内 //判断 异常记录是否在请假时间段内
...@@ -376,6 +382,11 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -376,6 +382,11 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
detail.setOffWorkResult(GoWorkResultEnum.请假.getValue()); detail.setOffWorkResult(GoWorkResultEnum.请假.getValue());
} }
} }
if (startLeaveTime.getTime() == endLeaveTime.getTime()) {
//请假时间相同 是申请补卡 做正常记录
detail.setOffWorkResult(GoWorkResultEnum.正常.getValue());
}
} }
} }
} }
...@@ -590,7 +601,17 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -590,7 +601,17 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
DateTime end = DateUtil.parseDate("2024-01-05 08:45:15"); DateTime end = DateUtil.parseDate("2024-01-05 08:45:15");
boolean in = DateUtil.isIn(dateTime, start, end); boolean in = DateUtil.isIn(dateTime, start, end);
System.out.println(in);*/ System.out.println(in);*/
System.out.println(GoWorkResultEnum.getEnumMap().keySet()); // System.out.println(GoWorkResultEnum.getEnumMap().keySet());
Date goWorkDate1 = DateUtil.parseDateTime("1970-01-01 17:00:00");
Date startLeaveTime = DateUtil.parseDateTime("2024-01-05 17:00:01");
Date endLeaveTime = DateUtil.parseDateTime("2024-01-05 17:00:02");
boolean in = DateUtil.isIn(goWorkDate1,
DateUtil.parse(DateUtil.format(startLeaveTime, "HH:mm:ss"), "HH:mm:ss"),
DateUtil.parse(DateUtil.format(endLeaveTime, "HH:mm:ss"), "HH:mm:ss"));
System.out.println(in);
} }
......
...@@ -394,7 +394,7 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -394,7 +394,7 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResult result = rest.getData(); GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResult result = rest.getData();
log.info("审批详情:" + JSONObject.toJSONString(result)); log.info("审批详情:" + JSONObject.toJSONString(result));
if (result.getTitle().contains("请假") || result.getTitle().contains("外出") || result.getTitle().contains("出差")) { //只处理请假、外出、出差 的审批单 if (result.getTitle().contains("补卡") ||result.getTitle().contains("请假") || result.getTitle().contains("外出") || result.getTitle().contains("出差")) { //只处理请假、外出、出差 的审批单
AttendanceLeaveRecordEntity leaveRecordEntity = new AttendanceLeaveRecordEntity(); AttendanceLeaveRecordEntity leaveRecordEntity = new AttendanceLeaveRecordEntity();
leaveRecordEntity.initAttrValue(); leaveRecordEntity.initAttrValue();
...@@ -572,6 +572,26 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -572,6 +572,26 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
} }
} }
} }
} else if (result.getTitle().contains("补卡")) {
leave_name = "补卡申请";
leaveRecordEntity.setLeaveType(22);
List<GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultFormComponentValues> comList = result.getFormComponentValues();
if (!comList.isEmpty()) {
for (GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultFormComponentValues componentValues : comList) {
switch (componentValues.name) {
case "补卡时间":
Date startTime1 = dateFormat(componentValues.getValue(), "yyyy-MM-dd HH:mm", true);
leaveRecordEntity.setStartTime(startTime1);
leaveRecordEntity.setEndTime(startTime1);
leaveRecordEntity.setDuration(0);
leaveRecordEntity.setSourceDingTime("0天");
break;
case "补卡理由":
leaveRecordEntity.setReason(componentValues.getValue());
break;
}
}
}
} else if (result.getTitle().contains("出差")) { } else if (result.getTitle().contains("出差")) {
leave_name = "因公外出"; leave_name = "因公外出";
leaveRecordEntity.setLeaveType(17); leaveRecordEntity.setLeaveType(17);
...@@ -964,7 +984,6 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -964,7 +984,6 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
} }
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment