package com.ruoyi.lavorissue.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.lavorissue.mapper.LavorIssueMapper; import com.ruoyi.lavorissue.pojo.LaborIssue; import com.ruoyi.lavorissue.service.LavorIssueService; import com.ruoyi.project.system.domain.SysDept; import com.ruoyi.project.system.mapper.SysDeptMapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * @author :yys * @date : 2025/8/13 11:19 */ @RestController @Api(tags = "劳保发放") @RequestMapping("/lavorIssue") public class LavorIssueController extends BaseController { @Autowired private LavorIssueService laborIssueService; @Autowired private LavorIssueMapper lavorIssueMapper; @Autowired private SysDeptMapper sysDeptMapper; @GetMapping("/listPage") @Log(title = "劳保发放-分页查询", businessType = BusinessType.OTHER) @ApiOperation("劳保发放-分页查询") public AjaxResult listPage(Page page, LaborIssue laborIssue){ IPage listPage = laborIssueService.listPage(page, laborIssue); return AjaxResult.success(listPage); } @PostMapping("/add") @Log(title = "劳保发放-添加", businessType = BusinessType.INSERT) @ApiOperation("劳保发放-添加") @Transactional(rollbackFor = Exception.class) public AjaxResult add(@RequestBody LaborIssue laborIssue){ boolean save = laborIssueService.save(laborIssue); return save ? AjaxResult.success() : AjaxResult.error(); } @PostMapping("/update") @Log(title = "劳保发放-修改", businessType = BusinessType.UPDATE) @ApiOperation("劳保发放-修改") @Transactional(rollbackFor = Exception.class) public AjaxResult update(@RequestBody LaborIssue laborIssue){ boolean update = laborIssueService.updateById(laborIssue); return update ? AjaxResult.success() : AjaxResult.error(); } @DeleteMapping("/delete") @Log(title = "劳保发放-删除", businessType = BusinessType.DELETE) @ApiOperation("劳保发放-删除") @Transactional(rollbackFor = Exception.class) public AjaxResult delete(@RequestBody List ids){ boolean delete = laborIssueService.removeBatchByIds(ids); return delete ? AjaxResult.success() : AjaxResult.error(); } /** * 劳保发放-导出 */ @Log(title = "劳保发放-导出", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation("劳保发放-导出") public void export(HttpServletResponse response) { Long tenantId = SecurityUtils.getLoginUser().getTenantId(); ExcelUtil util = new ExcelUtil(LaborIssue.class); List list = lavorIssueMapper.list(); SysDept sysDept = sysDeptMapper.selectDeptById(tenantId); if(sysDept == null){ throw new RuntimeException("部门不存在!"); } list.forEach(item -> { item.setDeptName(sysDept.getDeptName()); }); util.exportExcel(response, list , "劳保台账"); } }