You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
3.0 KiB
Java
75 lines
3.0 KiB
Java
3 years ago
|
package com.engine.organization.thread;
|
||
|
|
||
|
import com.engine.organization.entity.staff.po.StaffPO;
|
||
|
import com.engine.organization.entity.staff.po.StaffPlanPO;
|
||
|
import com.engine.organization.mapper.staff.StaffMapper;
|
||
|
import com.engine.organization.mapper.staff.StaffPlanMapper;
|
||
|
import com.engine.organization.mapper.trigger.StaffTriggerMapper;
|
||
|
import com.engine.organization.util.OrganizationDateUtil;
|
||
|
import com.engine.organization.util.db.MapperProxyFactory;
|
||
|
import org.apache.commons.lang3.StringUtils;
|
||
|
import weaver.general.Util;
|
||
|
|
||
|
/**
|
||
|
* @author:dxfeng
|
||
|
* @createTime: 2022/09/21
|
||
|
* @version: 1.0
|
||
|
*/
|
||
|
public class StaffTriggerRunnable implements Runnable {
|
||
|
StaffPO staffPO;
|
||
|
|
||
|
private StaffMapper getStaffMapper() {
|
||
|
return MapperProxyFactory.getProxy(StaffMapper.class);
|
||
|
}
|
||
|
|
||
|
private StaffPlanMapper getStaffPlanMapper() {
|
||
|
return MapperProxyFactory.getProxy(StaffPlanMapper.class);
|
||
|
}
|
||
|
|
||
|
private StaffTriggerMapper getStaffTriggerMapper() {
|
||
|
return MapperProxyFactory.getProxy(StaffTriggerMapper.class);
|
||
|
}
|
||
|
|
||
|
public StaffTriggerRunnable(StaffPO staffPO) {
|
||
|
this.staffPO = staffPO;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void run() {
|
||
|
String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
|
||
|
if (null != staffPO) {
|
||
|
StaffPlanPO staffPlanByID = getStaffPlanMapper().getStaffPlanByID(staffPO.getPlanId());
|
||
|
if (null != staffPlanByID && StringUtils.isNotBlank(staffPlanByID.getControlDimension())) {
|
||
|
String fType = staffPlanByID.getControlDimension();
|
||
|
int fPlan = 0;
|
||
|
int fOnJob = 0;
|
||
|
String fObjId = "";
|
||
|
switch (fType) {
|
||
|
case "1":
|
||
|
// 更新分部编制
|
||
|
fObjId = Util.null2String(staffPO.getCompId());
|
||
|
fOnJob = getStaffTriggerMapper().countCompanyUsers(staffPO.getEcCompany());
|
||
|
fPlan = getStaffTriggerMapper().countCompanyStaffNum(currentDate, staffPO.getCompId());
|
||
|
break;
|
||
|
case "2":
|
||
|
// 更新部门编制
|
||
|
fObjId = Util.null2String(staffPO.getDeptId());
|
||
|
fOnJob = getStaffTriggerMapper().countDepartmentUsers(staffPO.getEcDepartment());
|
||
|
fPlan = getStaffTriggerMapper().countDepartmentStaffNum(currentDate, staffPO.getDeptId());
|
||
|
break;
|
||
|
case "3":
|
||
|
// 更新岗位编制
|
||
|
fObjId = Util.null2String(staffPO.getJobId());
|
||
|
fOnJob = 10;
|
||
|
fPlan = getStaffTriggerMapper().countJobStaffNum(currentDate, staffPO.getJobId());
|
||
|
break;
|
||
|
default:
|
||
|
break;
|
||
|
}
|
||
|
// 更新对应的编制数
|
||
|
getStaffTriggerMapper().updateOrgStaffs(currentDate, fType, fObjId, fPlan, fOnJob);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|