人员调整,在岗数关联优化
This commit is contained in:
parent
c6fb0d129b
commit
acee0bad51
|
|
@ -16,7 +16,7 @@
|
|||
<update id="updateMap">
|
||||
update jcl_org_map
|
||||
<set>
|
||||
fdateend=#{currentDate},
|
||||
fdateend=#{yesterday},
|
||||
</set>
|
||||
where ftype=#{ftype} and fobjid=#{fobjid} and fdateend > #{currentDate}
|
||||
</update>
|
||||
|
|
|
|||
|
|
@ -115,6 +115,8 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|||
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
||||
StaffPO staffByID = getStaffMapper().getStaffByID(param.getId());
|
||||
StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID());
|
||||
staffPO.setPermanentNum(staffByID.getPermanentNum());
|
||||
staffPO.setFreezeNum(staffByID.getFreezeNum());
|
||||
checkRequired(staffPO);
|
||||
// 赋值
|
||||
CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(Util.null2String(staffPO.getEcCompany()));
|
||||
|
|
|
|||
|
|
@ -30,6 +30,10 @@ public class HrmResourceTriggerRunnable implements Runnable {
|
|||
return MapperProxyFactory.getProxy(HrmResourceTriggerMapper.class);
|
||||
}
|
||||
|
||||
private JclOrgMapper getJclOrgMapper() {
|
||||
return MapperProxyFactory.getProxy(JclOrgMapper.class);
|
||||
}
|
||||
|
||||
public HrmResourceTriggerRunnable(Long id) {
|
||||
this.userId = id;
|
||||
}
|
||||
|
|
@ -75,15 +79,23 @@ public class HrmResourceTriggerRunnable implements Runnable {
|
|||
cal.setTime(jclMap.getFDateBegin());
|
||||
Calendar calendar = DateUtil.addDay(cal, -1);
|
||||
Date time = new Date(calendar.getTime().getTime());
|
||||
// 更新前的数据
|
||||
JclOrgMap jclOrgMapByObjID = getJclOrgMapper().getJclOrgMapByObjID(currentDate, "4", hrmResource.getId().toString());
|
||||
|
||||
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);
|
||||
getHrmResourceTriggerMapper().updateLeaders(currentDate,hrmResource.getId().toString(), jclMap.getFLeaderImg(), jclMap.getFLeaderName(), jclMap.getFLeaderJobId(), jclMap.getFLeaderJob(), jclMap.getFLeaderLv(), jclMap.getFLeaderSt());
|
||||
// 更新当前架构图负责人的卡片信息
|
||||
getHrmResourceTriggerMapper().updateLeaders(currentDate, hrmResource.getId().toString(), jclMap.getFLeaderImg(), jclMap.getFLeaderName(), jclMap.getFLeaderJobId(), jclMap.getFLeaderJob(), jclMap.getFLeaderLv(), jclMap.getFLeaderSt());
|
||||
// 更新组织架构图在岗数
|
||||
if (!jclMap.getFObjParentId().equals(jclOrgMapByObjID.getFObjParentId())) {
|
||||
new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run();
|
||||
new StaffTriggerRunnable(jclMap.getFObjParentId()).run();
|
||||
}
|
||||
} else if (null != jclOrgMapByObjID) {
|
||||
new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import java.sql.Date;
|
|||
*/
|
||||
public class StaffTriggerRunnable implements Runnable {
|
||||
StaffPO staffPO;
|
||||
StaffPlanPO staffPlanByID;
|
||||
|
||||
private StaffPlanMapper getStaffPlanMapper() {
|
||||
return MapperProxyFactory.getProxy(StaffPlanMapper.class);
|
||||
|
|
@ -58,6 +59,20 @@ public class StaffTriggerRunnable implements Runnable {
|
|||
|
||||
public StaffTriggerRunnable(StaffPO staffPO) {
|
||||
this.staffPO = staffPO;
|
||||
this.staffPlanByID = getStaffPlanMapper().getStaffPlanByID(staffPO.getPlanId());
|
||||
|
||||
currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
|
||||
yesterday = DateUtil.addDate(currentDate, -1);
|
||||
}
|
||||
|
||||
public StaffTriggerRunnable(Integer jclJobId) {
|
||||
if (null != jclJobId) {
|
||||
JobPO jobById = getJobMapper().getJobById((long) jclJobId);
|
||||
if (null != jobById) {
|
||||
this.staffPO = StaffPO.builder().compId(jobById.getParentComp()).deptId(jobById.getParentDept()).jobId(jobById.getId()).build();
|
||||
this.staffPlanByID = StaffPlanPO.builder().controlDimension("3").build();
|
||||
}
|
||||
}
|
||||
currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
|
||||
yesterday = DateUtil.addDate(currentDate, -1);
|
||||
}
|
||||
|
|
@ -65,7 +80,6 @@ public class StaffTriggerRunnable implements Runnable {
|
|||
@Override
|
||||
public void run() {
|
||||
if (null != staffPO) {
|
||||
StaffPlanPO staffPlanByID = getStaffPlanMapper().getStaffPlanByID(staffPO.getPlanId());
|
||||
if (null != staffPlanByID && StringUtils.isNotBlank(staffPlanByID.getControlDimension())) {
|
||||
String fType = staffPlanByID.getControlDimension();
|
||||
switch (fType) {
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ public class StaffChangeAction implements Action {
|
|||
switch (changeType) {
|
||||
case "3":// 冻结,比如招聘中,面试中,入职办理中等
|
||||
if (staffPO.getFreezeNum() + changeNum > staffNum) {
|
||||
return "冻结数不能小于编制数";
|
||||
return "冻结数不能大于编制数";
|
||||
}
|
||||
// 设置冻结数
|
||||
staffPO.setFreezeNum(staffPO.getFreezeNum() + changeNum);
|
||||
|
|
|
|||
Loading…
Reference in New Issue