mitao
11 小时以前 95d8e5f4348497b1eee5884086534c86b1661b4f
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalController.java
@@ -1,8 +1,25 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
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>
@@ -14,7 +31,94 @@
 */
@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();
//    }
}