huminmin
9 天以前 57cd4d6f53f9fd6ba1122de5fa80196b5664f1dc
员工台账-续签合同
已修改3个文件
56 ■■■■ 文件已修改
src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/staff/service/IStaffOnJobService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
@@ -5,9 +5,8 @@
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.staff.dto.StaffOnJobDto;
import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
import com.ruoyi.staff.pojo.StaffContract;
import com.ruoyi.staff.pojo.StaffOnJob;
import com.ruoyi.staff.service.IStaffJoinLeaveRecordService;
import com.ruoyi.staff.service.IStaffOnJobService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -96,6 +95,17 @@
    }
    /**
     * 续签合同
     * @param id
     * @param staffContract
     * @return
     */
    @PostMapping("/renewContract/{id}")
    public AjaxResult renewContract(@PathVariable("id") Long id, @RequestBody StaffContract staffContract) {
        return AjaxResult.success(staffOnJobService.renewContract(id, staffContract));
    }
    /**
     * 在职员工导入
     */
    @PostMapping("/import")
src/main/java/com/ruoyi/staff/service/IStaffOnJobService.java
@@ -4,9 +4,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.staff.dto.StaffOnJobDto;
import com.ruoyi.staff.pojo.StaffContract;
import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
import com.ruoyi.staff.pojo.StaffOnJob;
import org.bouncycastle.crypto.digests.LongDigest;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
@@ -25,6 +25,8 @@
    int delStaffOnJobs(List<Integer> ids);
    int renewContract(Long id, StaffContract staffContract);
    void staffOnJobExport(HttpServletResponse response, StaffOnJob staffOnJob);
    List<StaffJoinLeaveRecord> staffOnJobList();
src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
@@ -69,6 +69,7 @@
            throw new BaseException("编号为"+staffOnJobPrams.getStaffNo()+"的员工已经存在,无法新增!!!");
        }
        // 创建入职数据
        staffOnJobPrams.setContractExpireTime(staffOnJobPrams.getContractEndTime());
        staffOnJobMapper.insert(staffOnJobPrams);
        // 创建合同记录
@@ -90,20 +91,22 @@
            throw new BaseException("编号为"+staffOnJobParams.getStaffNo()+"的员工不存在,无法更新!!!");
        }
        // 更新员工数据
        String[] ignoreProperties = {"id"};//排除id属性
        BeanUtils.copyProperties(staffOnJobParams,job,ignoreProperties);
        staffOnJobMapper.updateById(job);
        // 获取最新合同数据,并且更新
        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);
            return staffContractMapper.updateById(contract);
            staffContractMapper.updateById(contract);
        }
        return 0;
        // 更新员工数据
        BeanUtils.copyProperties(staffOnJobParams,job,ignoreProperties);
        job.setContractExpireTime(staffOnJobParams.getContractEndTime());
        return staffOnJobMapper.updateById(job);
    }
    //删除入职
@@ -116,6 +119,30 @@
        staffLeaveMapper.delete(Wrappers.<StaffLeave>lambdaQuery().in(StaffLeave::getStaffOnJobId, ids));
        // 删除合同数据
        return staffContractMapper.delete(Wrappers.<StaffContract>lambdaQuery().in(StaffContract::getStaffOnJobId, ids));
    }
    // 续签合同
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int renewContract(Long id, StaffContract staffContract) {
        // 判断对象是否存在
        StaffOnJob job = staffOnJobMapper.selectById(id);
        if (job == null){
            throw new BaseException("该员工不存在,无法更新!!!");
        }
        // 增加合同
        StaffContract newStaffContract = new StaffContract();
        newStaffContract.setStaffOnJobId(id);
        newStaffContract.setContractTerm(staffContract.getContractTerm());
        newStaffContract.setContractStartTime(staffContract.getContractStartTime());
        newStaffContract.setContractEndTime(staffContract.getContractEndTime());
        staffContractMapper.insert(newStaffContract);
        // 更新员工合同过期时间
        job.setContractExpireTime(staffContract.getContractEndTime());
        staffOnJobMapper.updateById(job);
        return 0;
    }
    //在职员工详情
@@ -131,6 +158,7 @@
        // 查询合同信息
        StaffContract contract = staffContractMapper.selectOne(Wrappers.<StaffContract>lambdaQuery()
                .eq(StaffContract::getStaffOnJobId, staffOnJob.getId())
                .last("limit 1")
                .orderByDesc(StaffContract::getId));
        if (contract != null){
            staffOnJobDto.setContractTerm(contract.getContractTerm());