|
@@ -4,10 +4,7 @@ import com.fasterxml.jackson.core.type.TypeReference;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.galaxis.manatee.constant.ChuanYunConstant;
|
|
import com.galaxis.manatee.constant.ChuanYunConstant;
|
|
import com.galaxis.manatee.dao.*;
|
|
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.data.object.ChuanyunPayrollDO;
|
|
|
|
|
|
+import com.galaxis.manatee.entity.chuanyun.data.object.*;
|
|
import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSaveDTO;
|
|
import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSaveDTO;
|
|
import com.galaxis.manatee.entity.chuanyun.dto.Filter;
|
|
import com.galaxis.manatee.entity.chuanyun.dto.Filter;
|
|
import com.galaxis.manatee.manager.ChuanYunManager;
|
|
import com.galaxis.manatee.manager.ChuanYunManager;
|
|
@@ -36,14 +33,16 @@ public class ChuanyunHumanResourceScheduledTask {
|
|
private final ChuanyunHolidaySalaryRuleDao chuanyunHolidaySalaryRuleDao;
|
|
private final ChuanyunHolidaySalaryRuleDao chuanyunHolidaySalaryRuleDao;
|
|
private final ChuanyunUserCompanyDao chuanyunUserCompanyDao;
|
|
private final ChuanyunUserCompanyDao chuanyunUserCompanyDao;
|
|
private final ChuanyunPayrollDao chuanyunPayrollDao;
|
|
private final ChuanyunPayrollDao chuanyunPayrollDao;
|
|
|
|
+ private final ChuanyunUserDepartmentNameDao chuanyunUserDepartmentNameDao;
|
|
|
|
|
|
- public ChuanyunHumanResourceScheduledTask(ChuanYunManager chuanYunManager, ChuanyunLogDao chuanyunLogDao, ChuanyunGroupProjectDao chuanyunGroupProjectDao, ChuanyunHolidaySalaryRuleDao chuanyunHolidaySalaryRuleDao, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunPayrollDao chuanyunPayrollDao) {
|
|
|
|
|
|
+ public ChuanyunHumanResourceScheduledTask(ChuanYunManager chuanYunManager, ChuanyunLogDao chuanyunLogDao, ChuanyunGroupProjectDao chuanyunGroupProjectDao, ChuanyunHolidaySalaryRuleDao chuanyunHolidaySalaryRuleDao, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunPayrollDao chuanyunPayrollDao, ChuanyunUserDepartmentNameDao chuanyunUserDepartmentNameDao) {
|
|
this.chuanYunManager = chuanYunManager;
|
|
this.chuanYunManager = chuanYunManager;
|
|
this.chuanyunLogDao = chuanyunLogDao;
|
|
this.chuanyunLogDao = chuanyunLogDao;
|
|
this.chuanyunGroupProjectDao = chuanyunGroupProjectDao;
|
|
this.chuanyunGroupProjectDao = chuanyunGroupProjectDao;
|
|
this.chuanyunHolidaySalaryRuleDao = chuanyunHolidaySalaryRuleDao;
|
|
this.chuanyunHolidaySalaryRuleDao = chuanyunHolidaySalaryRuleDao;
|
|
this.chuanyunUserCompanyDao = chuanyunUserCompanyDao;
|
|
this.chuanyunUserCompanyDao = chuanyunUserCompanyDao;
|
|
this.chuanyunPayrollDao = chuanyunPayrollDao;
|
|
this.chuanyunPayrollDao = chuanyunPayrollDao;
|
|
|
|
+ this.chuanyunUserDepartmentNameDao = chuanyunUserDepartmentNameDao;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -70,7 +69,7 @@ public class ChuanyunHumanResourceScheduledTask {
|
|
//由于需要统计流程中的日志,在日志数据同步时将状态为2的数据一并统计
|
|
//由于需要统计流程中的日志,在日志数据同步时将状态为2的数据一并统计
|
|
// matchersString.add("Status_2,1");
|
|
// matchersString.add("Status_2,1");
|
|
matchersString.add("Status_6,[1;2;3]");
|
|
matchersString.add("Status_6,[1;2;3]");
|
|
-// matchersString.add("logDate_4,2020-08-01 00:00:00");
|
|
|
|
|
|
+// matchersString.add("logDate_4,2019-01-01 00:00:00");
|
|
while (flag) {
|
|
while (flag) {
|
|
Long startTime= Instant.now().getEpochSecond();
|
|
Long startTime= Instant.now().getEpochSecond();
|
|
try {
|
|
try {
|
|
@@ -104,7 +103,7 @@ public class ChuanyunHumanResourceScheduledTask {
|
|
//针对前期测试数据,可能出现日志为空的情况,跳过不处理
|
|
//针对前期测试数据,可能出现日志为空的情况,跳过不处理
|
|
chuanyunLogDO.getDayLogList().forEach(chuanyunDayLog -> {
|
|
chuanyunLogDO.getDayLogList().forEach(chuanyunDayLog -> {
|
|
try{
|
|
try{
|
|
- //离职人员补全用户Id
|
|
|
|
|
|
+ //离职人员补全用户Id及部门ID
|
|
if (StringUtils.isEmpty(chuanyunLogDO.getUserId())){
|
|
if (StringUtils.isEmpty(chuanyunLogDO.getUserId())){
|
|
var name="";
|
|
var name="";
|
|
if (StringUtils.isEmpty(chuanyunDayLog.getContent())){
|
|
if (StringUtils.isEmpty(chuanyunDayLog.getContent())){
|
|
@@ -113,6 +112,15 @@ public class ChuanyunHumanResourceScheduledTask {
|
|
name=chuanyunDayLog.getContent();
|
|
name=chuanyunDayLog.getContent();
|
|
}
|
|
}
|
|
chuanyunLogDO.setUserId(getCharacters(name));
|
|
chuanyunLogDO.setUserId(getCharacters(name));
|
|
|
|
+ ChuanyunUserDepartmentNameDO chuanyunUserDepartmentNameDO = chuanyunUserDepartmentNameDao.findByUserName(chuanyunLogDO.getUserId());
|
|
|
|
+ if (chuanyunUserDepartmentNameDO!=null){
|
|
|
|
+ chuanyunLogDO.setDepartmentName(chuanyunUserDepartmentNameDO.getDepartmentName());
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ ChuanyunUserCompanyDO chuanyunUserCompanyDO = chuanyunUserCompanyDao.findByUserId(chuanyunLogDO.getUserObject().getObjectId());
|
|
|
|
+ if (chuanyunUserCompanyDO!=null){
|
|
|
|
+ chuanyunLogDO.setDepartmentName(getDepartmentName(chuanyunUserCompanyDO.getDepartment()));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
if(!"生产项目".equals(chuanyunDayLog.getProjectType())&& StringUtils.isEmpty(chuanyunDayLog.getProjectId())){
|
|
if(!"生产项目".equals(chuanyunDayLog.getProjectType())&& StringUtils.isEmpty(chuanyunDayLog.getProjectId())){
|
|
@@ -123,7 +131,7 @@ public class ChuanyunHumanResourceScheduledTask {
|
|
}
|
|
}
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
- log.warn(chuanyunDayLog+"");
|
|
|
|
|
|
+ log.warn(chuanyunLogDO+"");
|
|
}
|
|
}
|
|
});
|
|
});
|
|
//判断所属部门是否正确
|
|
//判断所属部门是否正确
|
|
@@ -253,7 +261,7 @@ public class ChuanyunHumanResourceScheduledTask {
|
|
log.info("凯乐士薪酬项同步"+totalCount);
|
|
log.info("凯乐士薪酬项同步"+totalCount);
|
|
}
|
|
}
|
|
|
|
|
|
- @Scheduled(fixedDelay = 3600000L)
|
|
|
|
|
|
+// @Scheduled(fixedDelay = 3600000L)
|
|
private void updateRecentLog() {
|
|
private void updateRecentLog() {
|
|
var objectMapper = new ObjectMapper();
|
|
var objectMapper = new ObjectMapper();
|
|
var start = 0;
|
|
var start = 0;
|
|
@@ -334,4 +342,13 @@ public class ChuanyunHumanResourceScheduledTask {
|
|
str = str.replaceAll(reg, " ");
|
|
str = str.replaceAll(reg, " ");
|
|
return str.trim();
|
|
return str.trim();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private String getDepartmentName(String str){
|
|
|
|
+ if (str.contains("/")){
|
|
|
|
+ String[] department = str.split("/");
|
|
|
|
+ return department[department.length-1];
|
|
|
|
+ }else {
|
|
|
|
+ return str;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|