1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package com.ruoyi.staff.controller;
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.staff.pojo.StaffContract;
import com.ruoyi.staff.service.IStaffContractService;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
 
/**
 * 合同管理(员工劳动合同)
 */
@RestController
@RequestMapping("/staff/contract")
public class StaffContractController {
 
    @Resource
    private IStaffContractService staffContractService;
 
    /**
     * 合同台账分页查询
     */
    @GetMapping("/listPage")
    public AjaxResult listPage(Page page, StaffContract req) {
        return AjaxResult.success(staffContractService.listPage(page, req));
    }
 
    /**
     * 合同详情
     */
    @GetMapping("/{id}")
    public AjaxResult detail(@PathVariable Long id) {
        return AjaxResult.success(staffContractService.getById(id));
    }
 
    /**
     * 新增合同
     */
    @PostMapping("/add")
    @Log(title = "合同管理-新增", businessType = BusinessType.INSERT)
    public AjaxResult add(@RequestBody StaffContract staffContract) {
        staffContract.setId(null);
        if (staffContract.getStatus() == null) {
            staffContract.setStatus(0);
        }
        return staffContractService.save(staffContract) ? AjaxResult.success() : AjaxResult.error("新增失败");
    }
 
    /**
     * 修改合同
     */
    @PostMapping("/update")
    @Log(title = "合同管理-修改", businessType = BusinessType.UPDATE)
    public AjaxResult update(@RequestBody StaffContract staffContract) {
        return staffContractService.updateById(staffContract) ? AjaxResult.success() : AjaxResult.error("修改失败");
    }
 
    /**
     * 删除合同
     */
    @DeleteMapping("/del")
    @Log(title = "合同管理-删除", businessType = BusinessType.DELETE)
    public AjaxResult del(@RequestBody List<Long> ids) {
        return staffContractService.removeByIds(ids) ? AjaxResult.success() : AjaxResult.error("删除失败");
    }
 
    /**
     * 续签合同
     */
    @PostMapping("/renew/{id}")
    @Log(title = "合同管理-续签", businessType = BusinessType.UPDATE)
    public AjaxResult renew(@PathVariable Long id, @RequestBody StaffContract staffContract) {
        return staffContractService.renew(id, staffContract) > 0 ? AjaxResult.success() : AjaxResult.error("续签失败");
    }
 
    /**
     * 解除合同
     */
    @PostMapping("/terminate/{id}")
    @Log(title = "合同管理-解除", businessType = BusinessType.UPDATE)
    public AjaxResult terminate(@PathVariable Long id, @RequestBody StaffContract staffContract) {
        return staffContractService.terminate(id, staffContract) > 0 ? AjaxResult.success() : AjaxResult.error("解除失败");
    }
 
    /**
     * 合同导出
     */
    @PostMapping("/export")
    public void export(HttpServletResponse response, StaffContract req) {
        staffContractService.export(response, req);
    }
}