package com.ruoyi.web.controller.api;
|
|
|
import com.ruoyi.common.basic.PageInfo;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.system.dto.SetDeptDTO;
|
import com.ruoyi.system.model.OaApproval;
|
import com.ruoyi.system.query.ApprovalListQuery;
|
import com.ruoyi.system.query.ApprovalNodeListQuery;
|
import com.ruoyi.system.service.ISysUserService;
|
import com.ruoyi.system.service.OaApprovalService;
|
import com.ruoyi.system.vo.system.ApprovalVO;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 审批表 前端控制器
|
* </p>
|
*
|
* @author WuGuanFengYue
|
* @since 2025-09-15
|
*/
|
@RestController
|
@RequestMapping("/oa-approval")
|
@Api(tags = "审批流程设计")
|
public class OaApprovalController {
|
@Resource
|
private OaApprovalService oaApprovalService;
|
@Resource
|
private ISysUserService sysUserService;
|
@Resource
|
private TokenService tokenService;
|
|
/**
|
* 获取部门树列表
|
*/
|
@ApiOperation("流程设计分页列表")
|
@PostMapping("/pageList")
|
public R<PageInfo<ApprovalVO>> pageList(@RequestBody ApprovalListQuery query) {
|
return R.ok(oaApprovalService.pageList(query));
|
}
|
|
@ApiOperation("流程设计不分页列表")
|
@PostMapping("/listAll")
|
public R<List<OaApproval>> listAll() {
|
List<OaApproval> res = new ArrayList<>();
|
List<OaApproval> approvals = oaApprovalService.list();
|
Long userId = tokenService.getLoginUser().getUserId();
|
SysUser sysUser = sysUserService.selectUserById(userId);
|
|
if (SecurityUtils.isAdmin(userId) || sysUser.getRoleId() == 1) {
|
return R.ok(approvals);
|
}
|
|
String deptId = sysUser.getDeptId();
|
for (OaApproval approval : approvals) {
|
if (approval.getDeptIds().equals("-1")) {
|
res.add(approval);
|
} else {
|
for (String s : approval.getDeptIds().split(",")) {
|
if (s.equals(deptId)) {
|
res.add(approval);
|
}
|
}
|
}
|
}
|
return R.ok(res);
|
}
|
|
@ApiOperation(value = "启用禁用")
|
@GetMapping(value = "/updateStatus")
|
public R updateStatus(Integer id) {
|
OaApproval approval = oaApprovalService.getById(id);
|
approval.setStatus(!approval.getStatus());
|
oaApprovalService.updateById(approval);
|
return R.ok();
|
}
|
|
@ApiOperation(value = "设置使用部门")
|
@PostMapping(value = "/setDept")
|
public R setDept(@RequestBody SetDeptDTO dto) {
|
OaApproval approval = oaApprovalService.getById(dto.getId());
|
approval.setDeptIds(dto.getDeptIds());
|
oaApprovalService.updateById(approval);
|
return R.ok();
|
}
|
// @Log(title = "编辑部门", businessType = BusinessType.UPDATE)
|
// @ApiOperation(value = "编辑部门")
|
// @PostMapping(value = "/edit")
|
// public R edit(@RequestBody AddDeptDTO dto) {
|
// deptService.updateById(dto);
|
// return R.ok();
|
// }
|
// @ApiOperation(value = "部门详情")
|
// @GetMapping(value = "/detail")
|
// public R<TDept> edit(@RequestParam String id) {
|
// return R.ok(deptService.getById(id));
|
// }
|
// @ApiOperation(value = "部门删除")
|
// @DeleteMapping(value = "/delete")
|
// @Log(title = "删除部门", businessType = BusinessType.DELETE)
|
// public R<Boolean> delete(@RequestParam String id) {
|
// Long count = deptService.lambdaQuery().eq(TDept::getParentId, id).count();
|
// if (count>0){
|
// return R.fail("当前部门存在下级部门,不可删除!");
|
// }
|
// List<SysUser> users = sysUserMapper.selectAllList().stream().filter(e -> e.getDelFlag().equals("0") && e.getDeptId().equals(id)).collect(Collectors.toList());
|
// if (!users.isEmpty()){
|
// return R.fail("当前部门存在用户,不可删除!");
|
// }
|
// deptService.removeById(Integer.valueOf(id));
|
// return R.ok();
|
// }
|
}
|