| | |
| | | throw new BaseException("编号为"+staffOnJobParams.getStaffNo()+"的员工不存在,无法更新!!!"); |
| | | } |
| | | |
| | | String[] ignoreProperties = {"id"};//排除更新属性 |
| | | |
| | | // 获取最新合同数据,并且更新 |
| | | StaffContract contract = staffContractMapper.selectOne(Wrappers.<StaffContract>lambdaQuery() |
| | | .eq(StaffContract::getStaffOnJobId, id) |
| | | .last("limit 1") |
| | | .orderByDesc(StaffContract::getId)); |
| | | if (contract != null){ |
| | | BeanUtils.copyProperties(staffOnJobParams,contract,ignoreProperties); |
| | | boolean hasContractData = staffOnJobParams.getContractTerm() != null |
| | | || staffOnJobParams.getContractStartTime() != null |
| | | || staffOnJobParams.getContractEndTime() != null; |
| | | if (contract == null && hasContractData) { |
| | | contract = new StaffContract(); |
| | | contract.setStaffOnJobId(id); |
| | | contract.setContractTerm(staffOnJobParams.getContractTerm()); |
| | | contract.setContractStartTime(staffOnJobParams.getContractStartTime()); |
| | | contract.setContractEndTime(staffOnJobParams.getContractEndTime()); |
| | | staffContractMapper.insert(contract); |
| | | } else if (contract != null) { |
| | | contract.setContractTerm(staffOnJobParams.getContractTerm()); |
| | | contract.setContractStartTime(staffOnJobParams.getContractStartTime()); |
| | | contract.setContractEndTime(staffOnJobParams.getContractEndTime()); |
| | | staffContractMapper.updateById(contract); |
| | | } |
| | | |
| | |
| | | bingingStaffOnJobExtra(id,staffOnJobParams); |
| | | // 更新员工数据 |
| | | syncStudyInfoFromEducation(staffOnJobParams); |
| | | staffOnJobParams.setId(id); |
| | | staffOnJobParams.setContractExpireTime(staffOnJobParams.getContractEndTime()); |
| | | return staffOnJobMapper.updateById(staffOnJobParams); |
| | | } |
| | |
| | | // 获取所有角色数据 |
| | | List<SysRole> sysRoles = sysRoleMapper.selectRoleAll(); |
| | | staffOnJobs.forEach(staffOnJob -> { |
| | | if (staffOnJob.getStaffNo() == null || staffOnJob.getStaffNo().trim().isEmpty()) { |
| | | throw new BaseException("员工编号不能为空,员工姓名:" + staffOnJob.getStaffName()); |
| | | } |
| | | StaffOnJobDto staffOnJobDto = new StaffOnJobDto(); |
| | | BeanUtils.copyProperties(staffOnJob, staffOnJobDto); |
| | | staffOnJobDto.setContractStartTime(staffOnJob.getContractStartTime()); |
| | | staffOnJobDto.setContractEndTime(staffOnJob.getContractEndTime()); |
| | | staffOnJobDto.setContractTerm(staffOnJob.getContractTerm()); |
| | | staffOnJobDto.setStaffNo(staffOnJob.getStaffNo()); |
| | | staffOnJobDto.setStaffName(staffOnJob.getStaffName()); |
| | | // 通过名称获取部门id |
| | | staffOnJobDto.setSysDeptId(// ... existing code ... |
| | | sysDepts.stream() |