| | |
| | | if (staffOnJobs.size()>0){ |
| | | StaffOnJob staffOnJob = staffOnJobs.get(0); |
| | | //先比较到期日期,这里选用到期日期最久的 |
| | | if (staffJoinLeaveRecord.getContractEndTime().compareTo(staffOnJob.getContractExpireTime())>0) { |
| | | if (staffJoinLeaveRecord.getContractEndTime() != null |
| | | && (staffOnJob.getContractExpireTime() == null |
| | | || staffJoinLeaveRecord.getContractEndTime().compareTo(staffOnJob.getContractExpireTime())>0)) { |
| | | BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties); |
| | | staffOnJob.setContractExpireTime(staffJoinLeaveRecord.getContractEndTime()); |
| | | //入职日期字段名不同(contractStartTime -> entryDate),BeanUtils 拷不过来,需手动赋值 |
| | | if (staffJoinLeaveRecord.getContractStartTime() != null) { |
| | | staffOnJob.setEntryDate(staffJoinLeaveRecord.getContractStartTime()); |
| | | } |
| | | staffOnJobMapper.updateById(staffOnJob); |
| | | } |
| | | }else { |
| | | StaffOnJob staffOnJob = new StaffOnJob(); |
| | | BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties); |
| | | staffOnJob.setContractExpireTime(staffJoinLeaveRecord.getContractEndTime()); |
| | | //入职日期同步到台账,保证台账“入职时间”列有值 |
| | | staffOnJob.setEntryDate(staffJoinLeaveRecord.getContractStartTime()); |
| | | staffOnJobMapper.insert(staffOnJob); |
| | | } |
| | | }else { |