package com.ruoyi.approve.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.pojo.AccountExpense; import com.ruoyi.approve.pojo.ApproveProcess; import com.ruoyi.approve.service.IApproveProcessService; import com.ruoyi.approve.vo.ApproveGetAndUpdateVo; import com.ruoyi.approve.vo.ApproveProcessVO; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.security.LoginUser; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.project.system.domain.SysDept; 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.io.IOException; import java.text.ParseException; import java.util.List; @RestController @RequestMapping("/approveProcess") @Api(tags = "审批") public class ApproveProcessController { @GetMapping("/test") public AjaxResult test() { System.out.println(1111); return AjaxResult.success("测试"); } @Autowired private IApproveProcessService approveProcessService; /**、 * 获取部门列表 * @return */ @GetMapping("/getDept") public AjaxResult getDept() { Long userId = SecurityUtils.getUserId(); LoginUser user = SecurityUtils.getLoginUser(); Long[] deptIds = SecurityUtils.getDeptId(); List sysDeptList = approveProcessService.selectDeptListByDeptIds(deptIds); return AjaxResult.success(sysDeptList); } /** * 添加审批 * @param approveProcessVO * @return */ @PostMapping("/add") @Transactional(rollbackFor = Exception.class) @ApiOperation(value = "添加审批") public AjaxResult add(@RequestBody ApproveProcessVO approveProcessVO) throws Exception { if (approveProcessVO == null) { return AjaxResult.warn("参数不能为空"); } approveProcessService.addApprove(approveProcessVO); return AjaxResult.success("添加成功"); } /** * 审批详情 * @param approveGetAndUpdateVo * @return */ @GetMapping("/get") @ApiOperation(value = "审批详情") public AjaxResult get(ApproveGetAndUpdateVo approveGetAndUpdateVo){ if (approveGetAndUpdateVo.getId() == null || approveGetAndUpdateVo.getId().isEmpty()) { return AjaxResult.warn("参数不能为空"); } return AjaxResult.success(approveProcessService.getApproveById(approveGetAndUpdateVo.getId())); } /** * 更新审批 * @param approveGetAndUpdateVo * @return */ @PostMapping("/update") @Transactional(rollbackFor = Exception.class) @ApiOperation(value = "更新审批") public AjaxResult update(@RequestBody ApproveGetAndUpdateVo approveGetAndUpdateVo) throws IOException { if (approveGetAndUpdateVo == null) { return AjaxResult.warn("参数不能为空"); } approveProcessService.updateByApproveId(approveGetAndUpdateVo); return AjaxResult.success("操作成功"); } /** * 获取审批列表 * @return */ @GetMapping("/list") @ApiOperation(value = "获取审批列表") public AjaxResult list(Page page, ApproveProcess approveProcess) { return AjaxResult.success(approveProcessService.listAll(page, approveProcess)); } /** * 删除审批 * @param ids * @return */ @DeleteMapping("/deleteIds") @ApiOperation(value = "删除审批") @Transactional(rollbackFor = Exception.class) public AjaxResult deleteIds(@RequestBody Long[] ids) { if (ids == null || ids.length == 0) { return AjaxResult.warn("参数不能为空"); } approveProcessService.delApprove(ids); return AjaxResult.success("操作成功"); } @ApiOperation(value = "公出管理导出") @PostMapping("/exportOne") public void exportOne(HttpServletResponse response) { List accountExpenses = approveProcessService.list(new LambdaQueryWrapper() .eq(ApproveProcess::getApproveDelete, 0) .eq(ApproveProcess::getApproveType, 1)); ExcelUtil util = new ExcelUtil(ApproveProcess.class); util.exportExcel(response, accountExpenses, "公出管理导出"); } @ApiOperation(value = "请假管理导出") @PostMapping("/exportTwo") public void exportTwo(HttpServletResponse response) { List accountExpenses = approveProcessService.list(new LambdaQueryWrapper() .eq(ApproveProcess::getApproveDelete, 0) .eq(ApproveProcess::getApproveType, 2)); ExcelUtil util = new ExcelUtil(ApproveProcess.class); util.exportExcel(response, accountExpenses, "请假管理导出"); } @ApiOperation(value = "出差管理导出") @PostMapping("/exportThree") public void exportThree(HttpServletResponse response) { List accountExpenses = approveProcessService.list(new LambdaQueryWrapper() .eq(ApproveProcess::getApproveDelete, 0) .eq(ApproveProcess::getApproveType, 3)); ExcelUtil util = new ExcelUtil(ApproveProcess.class); util.exportExcel(response, accountExpenses, "出差管理导出"); } @ApiOperation(value = "报销管理导出") @PostMapping("/exportFour") public void exportFour(HttpServletResponse response) { List accountExpenses = approveProcessService.list(new LambdaQueryWrapper() .eq(ApproveProcess::getApproveDelete, 0) .eq(ApproveProcess::getApproveType, 4)); ExcelUtil util = new ExcelUtil(ApproveProcess.class); util.exportExcel(response, accountExpenses, "报销管理导出"); } @ApiOperation(value = "采购申请导出") @PostMapping("/exportFive") public void exportFive(HttpServletResponse response) { List accountExpenses = approveProcessService.list(new LambdaQueryWrapper() .eq(ApproveProcess::getApproveDelete, 0) .eq(ApproveProcess::getApproveType, 5)); ExcelUtil util = new ExcelUtil(ApproveProcess.class); util.exportExcel(response, accountExpenses, "采购申请导出"); } @ApiOperation(value = "协同审批导出") @PostMapping("/exportZero") public void exportZero(HttpServletResponse response) { List accountExpenses = approveProcessService.list(new LambdaQueryWrapper() .eq(ApproveProcess::getApproveDelete, 0) .eq(ApproveProcess::getApproveType, 0)); ExcelUtil util = new ExcelUtil(ApproveProcess.class); util.exportExcel(response, accountExpenses, "协同审批导出"); } }