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 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); } }