|
|
@@ -1,14 +1,17 @@
|
|
|
package com.storlead.centre.dispatch;
|
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.storlead.centre.entity.AttendanceSignRecordEntity;
|
|
|
import com.storlead.centre.entity.HrmschedulesignEntity;
|
|
|
import com.storlead.centre.entity.HrmschedulesignRemindEntity;
|
|
|
+import com.storlead.centre.entity.SystemConfigItemEntity;
|
|
|
import com.storlead.centre.service.AttendanceSignRecordService;
|
|
|
import com.storlead.centre.service.HrmschedulesignRemindService;
|
|
|
import com.storlead.centre.service.HrmschedulesignService;
|
|
|
+import com.storlead.centre.service.SystemConfigItemService;
|
|
|
import com.storlead.centre.vo.SignDataConvert;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
@@ -37,6 +40,8 @@ public class SyncAttendanceSignToOaTask {
|
|
|
private HrmschedulesignRemindService hrmschedulesignRemindService;
|
|
|
@Resource
|
|
|
private HrmschedulesignService hrmschedulesignService;
|
|
|
+ @Resource
|
|
|
+ private SystemConfigItemService systemConfigItemService;
|
|
|
|
|
|
@Scheduled(cron ="0 */5 6-23 * * ? ")
|
|
|
public void syncSignData() throws ParseException {
|
|
|
@@ -49,18 +54,29 @@ public class SyncAttendanceSignToOaTask {
|
|
|
return;
|
|
|
}
|
|
|
List<Long> ids = attendances.stream().map(AttendanceSignRecordEntity::getId).collect(Collectors.toList());
|
|
|
-
|
|
|
+ List<Long> bmd = new ArrayList<>();
|
|
|
+ SystemConfigItemEntity systemConfig = systemConfigItemService.getSystemConfigItem("ATTENDANCE_SGIN_PRIORITY_USER_ID");
|
|
|
+ if (Objects.nonNull(systemConfig)) {
|
|
|
+ String values = systemConfig.getItemFormatValue();
|
|
|
+ if (StrUtil.isNotBlank(values)) {
|
|
|
+ bmd = Arrays.stream(values.split(","))
|
|
|
+ .map(String::trim) // 去空格,防止 " 1"
|
|
|
+ .filter(s -> !s.isEmpty())// 防止空字符串
|
|
|
+ .map(Long::valueOf)
|
|
|
+ .collect(Collectors.toList());;
|
|
|
+ }
|
|
|
+ }
|
|
|
LambdaUpdateWrapper<AttendanceSignRecordEntity> oawp = new LambdaUpdateWrapper<>();
|
|
|
oawp.set(AttendanceSignRecordEntity::getSyncOa,Integer.valueOf(1));
|
|
|
oawp.in(AttendanceSignRecordEntity::getId,ids);
|
|
|
attendanceSignRecordService.update(oawp);
|
|
|
//同步OA数据
|
|
|
- List<HrmschedulesignEntity> hrmschedulesignsDb = new ArrayList<>();
|
|
|
+ List<HrmschedulesignEntity> hrmschedulesignsDb ;
|
|
|
List<HrmschedulesignEntity> hrmschedulesigns = SignDataConvert.attendanceListToOaSignVoList(attendances);
|
|
|
if (!CollectionUtils.isEmpty(hrmschedulesigns)) {
|
|
|
- List<Long> bmd = Arrays.asList(408L);
|
|
|
if (!CollectionUtils.isEmpty(bmd)) {
|
|
|
- hrmschedulesignsDb = hrmschedulesigns.stream().filter(e ->bmd.contains(e.getUserid())).collect(Collectors.toList());
|
|
|
+ List<Long> finalBmd = bmd;
|
|
|
+ hrmschedulesignsDb = hrmschedulesigns.stream().filter(e -> finalBmd.contains(e.getUserid())).collect(Collectors.toList());
|
|
|
} else {
|
|
|
hrmschedulesignsDb = hrmschedulesigns;
|
|
|
}
|
|
|
@@ -69,12 +85,12 @@ public class SyncAttendanceSignToOaTask {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- List<HrmschedulesignRemindEntity> hrmschedulesignremindsDb = new ArrayList<>();
|
|
|
+ List<HrmschedulesignRemindEntity> hrmschedulesignremindsDb ;
|
|
|
List<HrmschedulesignRemindEntity> hrmschedulesignreminds = SignDataConvert.attendanceListToOaSignRemindVoList(attendances);
|
|
|
if (!CollectionUtils.isEmpty(hrmschedulesignreminds)) {
|
|
|
- List<Integer> bmd = Arrays.asList(408);
|
|
|
if (!CollectionUtils.isEmpty(bmd)) {
|
|
|
- hrmschedulesignremindsDb = hrmschedulesignreminds.stream().filter(e ->bmd.contains(e.getUserid())).collect(Collectors.toList());
|
|
|
+ List<Long> finalBmd = bmd;
|
|
|
+ hrmschedulesignremindsDb = hrmschedulesignreminds.stream().filter(e ->finalBmd.contains(e.getUserid())).collect(Collectors.toList());
|
|
|
} else {
|
|
|
hrmschedulesignremindsDb = hrmschedulesignreminds;
|
|
|
}
|
|
|
@@ -84,4 +100,6 @@ public class SyncAttendanceSignToOaTask {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
}
|