src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
@@ -58,14 +58,23 @@
            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 {