|
@@ -2,12 +2,12 @@ package com.galaxis.manatee.task;
|
|
|
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
-import com.galaxis.manatee.dao.ChuanyunGroupProjectDao;
|
|
|
-import com.galaxis.manatee.dao.ChuanyunHolidaySalaryRuleDao;
|
|
|
-import com.galaxis.manatee.dao.ChuanyunLogDao;
|
|
|
+import com.galaxis.manatee.constant.ChuanYunConstant;
|
|
|
+import com.galaxis.manatee.dao.*;
|
|
|
import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunGroupProjectDO;
|
|
|
import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunHolidaySalaryRuleDO;
|
|
|
import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunLogDO;
|
|
|
+import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSaveDTO;
|
|
|
import com.galaxis.manatee.entity.chuanyun.dto.Filter;
|
|
|
import com.galaxis.manatee.manager.ChuanYunManager;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -32,12 +32,16 @@ public class ChuanyunHumanResourceScheduledTask {
|
|
|
private final ChuanyunLogDao chuanyunLogDao;
|
|
|
private final ChuanyunGroupProjectDao chuanyunGroupProjectDao;
|
|
|
private final ChuanyunHolidaySalaryRuleDao chuanyunHolidaySalaryRuleDao;
|
|
|
+ private final ChuanyunUserCompanyDao chuanyunUserCompanyDao;
|
|
|
+ private final ChuanyunCompanyDao chuanyunCompanyDao;
|
|
|
|
|
|
- public ChuanyunHumanResourceScheduledTask(ChuanYunManager chuanYunManager, ChuanyunLogDao chuanyunLogDao, ChuanyunGroupProjectDao chuanyunGroupProjectDao, ChuanyunHolidaySalaryRuleDao chuanyunHolidaySalaryRuleDao) {
|
|
|
+ public ChuanyunHumanResourceScheduledTask(ChuanYunManager chuanYunManager, ChuanyunLogDao chuanyunLogDao, ChuanyunGroupProjectDao chuanyunGroupProjectDao, ChuanyunHolidaySalaryRuleDao chuanyunHolidaySalaryRuleDao, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunCompanyDao chuanyunCompanyDao) {
|
|
|
this.chuanYunManager = chuanYunManager;
|
|
|
this.chuanyunLogDao = chuanyunLogDao;
|
|
|
this.chuanyunGroupProjectDao = chuanyunGroupProjectDao;
|
|
|
this.chuanyunHolidaySalaryRuleDao = chuanyunHolidaySalaryRuleDao;
|
|
|
+ this.chuanyunUserCompanyDao = chuanyunUserCompanyDao;
|
|
|
+ this.chuanyunCompanyDao = chuanyunCompanyDao;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -45,6 +49,7 @@ public class ChuanyunHumanResourceScheduledTask {
|
|
|
*/
|
|
|
// @Scheduled(fixedDelay = 1000000000L)
|
|
|
@Scheduled(cron = "0 0 3 * * *")
|
|
|
+// @Scheduled(fixedDelay = 360000L)
|
|
|
private void updateLog() {
|
|
|
var objectMapper = new ObjectMapper();
|
|
|
var start = 0;
|
|
@@ -95,6 +100,30 @@ public class ChuanyunHumanResourceScheduledTask {
|
|
|
log.warn(chuanyunDayLog+"");
|
|
|
}
|
|
|
});
|
|
|
+ //判断所属部门是否正确
|
|
|
+ chuanyunUserCompanyDao.findById(chuanyunLogDO.getUserCompanyId()).ifPresent(chuanyunUserCompanyDO -> {
|
|
|
+ String ownerDepartmentId = chuanyunUserCompanyDO.getDepartment();
|
|
|
+ if (!chuanyunLogDO.getOwnerDepartmentId().equals(ownerDepartmentId)) {
|
|
|
+ chuanyunLogDO.setOwnerDepartmentId(ChuanYunConstant.USER_DEPARTMENT.get(chuanyunUserCompanyDO.getUserId()).toString());
|
|
|
+ boolean updateFlag=false;
|
|
|
+ while (!updateFlag) {
|
|
|
+ try {
|
|
|
+ var groupProjectUpdateString = objectMapper.writeValueAsString(chuanyunLogDO);
|
|
|
+ ChuanyunSaveDTO chuanyunSaveDTO = chuanYunManager.update(ChuanyunLogDO.SCHEMA_CODE, chuanyunLogDO.getObjectId(), groupProjectUpdateString);
|
|
|
+ if (chuanyunSaveDTO.getSuccessful()) {
|
|
|
+ log.info(chuanyunLogDO.getObjectId() + "更新人员所属部门成功" + groupProjectUpdateString);
|
|
|
+ updateFlag = true;
|
|
|
+ } else {
|
|
|
+ log.warn(chuanyunLogDO.getObjectId() + "更新人员所属部门失败" + groupProjectUpdateString);
|
|
|
+ log.warn(chuanyunLogDO + "");
|
|
|
+ Thread.sleep(5000L);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
//处理项目userId
|
|
|
if(chuanyunLogDO.getUserObject()!=null){
|