maven
8 天以前 07f085de4c97e3eee39dae3107780f46f894d675
src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
@@ -63,10 +63,12 @@
            if (staffOnJobs.size()>0){
                StaffOnJob staffOnJob = staffOnJobs.get(0);
                //先比较到期日期,这里选用到期日期最久的
                if (staffJoinLeaveRecord.getContractEndTime().compareTo(staffOnJob.getContractExpireTime())>0) {
                    BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties);
                    staffOnJobMapper.updateById(staffOnJob);
                }
//                if (staffJoinLeaveRecord.getContractEndTime().compareTo(staffOnJob.getContractExpireTime())>0) {
//                    BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties);
//                    staffOnJobMapper.updateById(staffOnJob);
//                }
                BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties);
                staffOnJobMapper.updateById(staffOnJob);
            }else {
                StaffOnJob staffOnJob = new StaffOnJob();
                BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties);
@@ -161,10 +163,12 @@
            StaffOnJob job = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery()
                    .eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo())).get(0);
            //如果更改的合同到期时间更久则更新,如果没有就不用更新
            if (staffJoinLeaveRecord.getContractEndTime().compareTo(job.getContractExpireTime())>0) {
                BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
                staffOnJobMapper.updateById(job);
            }
//            if (staffJoinLeaveRecord.getContractEndTime().compareTo(job.getContractExpireTime())>0) {
//                BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
//                staffOnJobMapper.updateById(job);
//            }
            BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
            staffOnJobMapper.updateById(job);
        }else {
            /*离职*/
            //离职的编辑不会影响在职表
@@ -188,7 +192,7 @@
        // 通过部门名称查询部门id
        for (StaffJoinLeaveRecord staffJoinLeaveRecord : staffJoinLeaveRecords) {
            staffJoinLeaveRecord.setStaffState(1);
            Optional<DeptPosition> deptPosition = deptPositions.stream().filter(deptPosition1 -> deptPosition1.getName().equals(staffJoinLeaveRecord.getDeptPositionName())).findFirst();
            Optional<DeptPosition> deptPosition = deptPositions.stream().filter(deptPosition1 -> deptPosition1.getName().equals(staffJoinLeaveRecord.getPostJob())).findFirst();
            deptPosition.ifPresent(position -> staffJoinLeaveRecord.setDeptPositionId(position.getId()));
            add(staffJoinLeaveRecord);
        }