SHR之员工合同解除
员工合同解除
HRContractInfoFacadeControllerBean
这块的意思的源码可以自行翻阅该源码.
调用员工的实现这个合同自动解除
String sql="select fid from T_HR_HRCONTRACTINFO where FEMPLOYEEID='"+person.getId()+"' and FISNEWESTCONTRACT=1 ";
IRowSet rs8=DbUtil.executeQuery(ctx,sql);
try {
if(rs8.next()){
EmployeeContractInfo employeeContractInfo=EmployeeContractFactory.getLocalInstance(ctx).getEmployeeContractInfo(new ObjectUuidPK(BOSUuid.read(rs5.getString("fid"))));
employeeContractInfo.setFreeDate(personpositionInfo.getLEFFDT());
HRContractInfoFacadeFactory.getLocalInstance(ctx).freeContract(employeeContractInfo);
}
} catch (Exception e) {
e.printStackTrace();
}
普通用户登录Web端,系统设置->员工基础数据->合同类别->选择一个合同类别->合同规则,可以自定义该合同类别的合同规则,持有该合同类别模板的合同的某个员工,做了变动之后,
符合合同规则中定义的目标用工关系状态,就会按照配置自动终止或解除合同,终止或解除日期默认取 变动的生效日期
翻了代码,合同解除, 1.合同记录表(T_HR_EmployeeContract): 解除日期 更新为所选值 如果解除日期<当天,state 和 newState 设为5 2.合同中间表(T_HR_HRContractInfo): newState 设为 5 解除日期 更新为所选值 如果解除日期<当天,state 设为5 合同记录表的newState当初为什么这么处理,原因不明
参考自:黄庆春