weaver-hrm-organization/src/com/engine/organization/thread/HrmResourceTriggerRunnable....

115 lines
5.4 KiB
Java
Raw Normal View History

2022-09-01 16:57:06 +08:00
package com.engine.organization.thread;
2022-10-20 09:07:32 +08:00
import com.engine.organization.entity.hrmresource.po.HrmResourcePO;
2022-10-26 20:12:14 +08:00
import com.engine.organization.entity.job.po.JobPO;
2022-09-01 16:57:06 +08:00
import com.engine.organization.entity.map.JclOrgMap;
2022-11-09 16:58:09 +08:00
import com.engine.organization.entity.personnelcard.UserCard;
2022-09-01 16:57:06 +08:00
import com.engine.organization.mapper.jclorgmap.JclOrgMapper;
2022-10-26 20:12:14 +08:00
import com.engine.organization.mapper.job.JobMapper;
2022-11-21 10:58:12 +08:00
import com.engine.organization.mapper.resource.ResourceMapper;
2022-09-01 16:57:06 +08:00
import com.engine.organization.mapper.trigger.CompTriggerMapper;
import com.engine.organization.mapper.trigger.HrmResourceTriggerMapper;
import com.engine.organization.util.OrganizationDateUtil;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.common.DateUtil;
import weaver.hrm.passwordprotection.domain.HrmResource;
import java.sql.Date;
import java.util.Calendar;
/**
* @author:dxfeng
* @createTime: 2022/09/01
* @version: 1.0
*/
public class HrmResourceTriggerRunnable implements Runnable {
Long userId;
private CompTriggerMapper getCompTriggerMapper() {
return MapperProxyFactory.getProxy(CompTriggerMapper.class);
}
private HrmResourceTriggerMapper getHrmResourceTriggerMapper() {
return MapperProxyFactory.getProxy(HrmResourceTriggerMapper.class);
}
2022-11-21 10:58:12 +08:00
private ResourceMapper getResourceMapper() {
return MapperProxyFactory.getProxy(ResourceMapper.class);
2022-10-21 09:28:33 +08:00
}
2022-09-30 11:05:42 +08:00
private JclOrgMapper getJclOrgMapper() {
return MapperProxyFactory.getProxy(JclOrgMapper.class);
}
2022-09-01 16:57:06 +08:00
public HrmResourceTriggerRunnable(Long id) {
this.userId = id;
}
@Override
public void run() {
int st = 100000000;
int sj = 200000000;
int sk = 300000000;
Integer delete = null;
JclOrgMap jclMap = new JclOrgMap();
jclMap.setFType(4);
// 查询当前人员信息数据
2022-11-21 10:58:12 +08:00
String ecResourceId = getResourceMapper().getEcResourceId(userId.toString());
2022-10-26 20:12:14 +08:00
// EC人员
2022-10-21 09:28:33 +08:00
HrmResource ecHrmResource = getHrmResourceTriggerMapper().getHrmResource(Long.parseLong(ecResourceId));
2022-10-26 20:12:14 +08:00
// 聚才林人员
2022-10-21 09:28:33 +08:00
HrmResourcePO hrmResource = getCompTriggerMapper().getResourceByEcId(Integer.parseInt(ecResourceId));
if (null != hrmResource && null!=ecHrmResource) {
jclMap.setFObjId(hrmResource.getId().intValue());
jclMap.setId(hrmResource.getId().intValue() + sk);
2022-10-21 15:57:55 +08:00
jclMap.setFEcId(ecHrmResource.getId());
2022-10-21 09:28:33 +08:00
jclMap.setFNumber(hrmResource.getWorkCode());
jclMap.setFName(hrmResource.getLastName());
jclMap.setUuid(hrmResource.getUuid());
delete = hrmResource.getStatus() < 4 ? 0 : 1;
2022-10-26 20:12:14 +08:00
// 展示为花名册上传的照片
2022-11-09 16:58:09 +08:00
String image = UserCard.builder().image(hrmResource.getResourceImageId()).build().getImage();
2022-10-26 20:12:14 +08:00
jclMap.setFLeaderImg(image);
2022-10-21 09:28:33 +08:00
jclMap.setFLeaderName(hrmResource.getLastName());
jclMap.setFLeaderJobId(hrmResource.getJobTitle().intValue());
2022-10-26 20:12:14 +08:00
if (null != hrmResource.getJobTitle()) {
JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(hrmResource.getJobTitle());
if (null != jobById) {
jclMap.setFLeaderJob(jobById.getJobName());
2022-09-01 16:57:06 +08:00
}
2022-10-26 20:12:14 +08:00
jclMap.setFObjParentId(hrmResource.getJobTitle().intValue());
jclMap.setFParentId(jclMap.getFObjParentId() + sj);
2022-09-01 16:57:06 +08:00
}
2022-10-26 20:12:14 +08:00
jclMap.setFLeaderSt(hrmResource.getJobGrade());
jclMap.setFLeaderLv(hrmResource.getJobLevel());
2022-09-01 16:57:06 +08:00
jclMap.setFClass(0);
jclMap.setFClassName("行政维度");
2022-09-20 14:19:46 +08:00
String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime()));
2022-09-01 16:57:06 +08:00
jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime()));
jclMap.setFIsVitual(0);
Calendar cal = Calendar.getInstance();
cal.setTime(jclMap.getFDateBegin());
Calendar calendar = DateUtil.addDay(cal, -1);
Date time = new Date(calendar.getTime().getTime());
2022-09-30 11:05:42 +08:00
// 更新前的数据
JclOrgMap jclOrgMapByObjID = getJclOrgMapper().getJclOrgMapByObjID(jclMap.getFDateBegin(), "4", hrmResource.getId().toString());
2022-09-01 16:57:06 +08:00
getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin());
getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time);
if (0 == delete) {
MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap);
2022-09-30 11:05:42 +08:00
// 更新当前架构图负责人的卡片信息
2022-10-27 14:39:35 +08:00
getHrmResourceTriggerMapper().updateLeaders(jclMap.getFDateBegin(), hrmResource.getId().toString(), jclMap.getFLeaderImg(), jclMap.getFLeaderName(), jclMap.getFLeaderJobId(), jclMap.getFLeaderJob(), jclMap.getFLeaderLv(), jclMap.getFLeaderSt());
2022-09-30 11:05:42 +08:00
// 更新组织架构图在岗数
2022-10-26 20:12:14 +08:00
if (null != jclOrgMapByObjID) {
2022-09-30 11:05:42 +08:00
new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run();
}
2022-10-26 20:12:14 +08:00
new StaffTriggerRunnable(jclMap.getFObjParentId()).run();
2022-09-30 11:05:42 +08:00
} else if (null != jclOrgMapByObjID) {
new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run();
2022-09-01 16:57:06 +08:00
}
}
}
}