无关风月
18 小时以前 e56c1cce484cd8df8c3373d4e2b5847d11b09abe
代码合并解决冲突 bug修改
2个文件已修改
65 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalFlowNodeServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java
@@ -526,19 +526,6 @@
        res.setRecords(resList);
        return R.ok(res);
    }
            OaApprovalFlowAudit approvalFlowAudit = approvalFlowAuditMap.get(approvalFlowNode.getId());
            if (approvalFlowAudit!=null){
                approvalFlowNodeVO.setFlowName(approvalFlowAudit.getFlowName());
                approvalFlowNodeVO.setUserName(approvalFlowAudit.getUserName());
                approvalFlowNodeVO.setSignPicUrl(approvalFlowAudit.getSignPicUrl());
                approvalFlowNodeVO.setApprovalStatus(approvalFlowAudit.getApprovalStatus());
            }else{
                approvalFlowNodeVO.setFlowName(approvalFlowNode.getFlowName());
            }
            approvalFlowNodeListVOS.add(approvalFlowNodeVO);
        }
        return approvalFlowNodeListVOS;
    }
@@ -561,14 +548,14 @@
        approvalTodoService.updateById(approvalTodo);
        OaApproval approval = approvalService.getById(approvalApplications.getApprovalId());
        if (dto.getApprovalStatus()==0){
        if (dto.getApprovalStatus() == 0) {
            // 中断审批流程
            approvalApplications.setApprovalStatus(3);
            approvalApplicationsService.updateById(approvalApplications);
            // 删除除当前审批人该申请单的未处理的所有待办
            approvalTodoService.remove(new LambdaQueryWrapper<OaApprovalTodo>()
                    .eq(OaApprovalTodo::getApplicationId, approvalApplications.getId())
                    .eq(OaApprovalTodo::getStatus,0));
                    .eq(OaApprovalTodo::getStatus, 0));
        }
        OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(currentFlowNodeId);
        OaApprovalFlowAudit approvalFlowAudit = new OaApprovalFlowAudit();
@@ -584,19 +571,19 @@
        approvalFlowAuditService.save(approvalFlowAudit);
        List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery().eq(OaApprovalFlowNode::getApprovalId, approval.getId())
                .orderByAsc(OaApprovalFlowNode::getSortOrder).list();
        if (dto.getApprovalStatus()==1){
        if (dto.getApprovalStatus() == 1) {
            // 判断当前是否处于最后一个节点
            if(approvalApplications.getCurrentFlowNodeId().equals(approvalFlowNodes.get(approvalFlowNodes.size()-1).getId())){
            if (approvalApplications.getCurrentFlowNodeId().equals(approvalFlowNodes.get(approvalFlowNodes.size() - 1).getId())) {
                // 审批通过 审批流程结束
                approvalApplications.setApprovalStatus(2);
                approvalApplicationsService.updateById(approvalApplications);
                if (approval.getApprovalCategory()==10||approval.getApprovalCategory()==7
                        ||approval.getApprovalCategory()==8||approval.getApprovalCategory()==9){
                if (approval.getApprovalCategory() == 10 || approval.getApprovalCategory() == 7
                        || approval.getApprovalCategory() == 8 || approval.getApprovalCategory() == 9) {
                    List<OaApprovalApplicationAssetItem> approvalApplicationAssetItems = approvalApplicationAssetItemService.lambdaQuery()
                            .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, approvalApplications.getId()).list();
                    List<Integer> AssetMainIds = approvalApplicationAssetItems.stream().map(OaApprovalApplicationAssetItem::getAssetMainId).collect(Collectors.toList());
                    List<AssetMain> assetMains = assetMainService.lambdaQuery().in(AssetMain::getId, AssetMainIds).list();
                    switch (approval.getApprovalCategory()){
                    switch (approval.getApprovalCategory()) {
                        case 10:
                            assetMains.forEach(assetMain -> {
                                assetMain.setDisposed(1);
@@ -619,21 +606,20 @@
                if (approval.getApprovalCategory().equals(ApprovalTypeEnum.IN_STOCK.getCode())) {
                    assetMainService.saveAssetByApprovalApplicationId(approvalApplications.getId());
                }
            }else{
            } else {
                // 生成下一个节点的待办事项
                for (int i = 0; i < approvalFlowNodes.size(); i++) {
                    if(approvalApplications.getCurrentFlowNodeId()
                            .equals(approvalFlowNodes.get(i).getId())){
                        approvalApplications.setCurrentFlowNodeId(approvalFlowNodes.get(i+1).getId());
                    if (approvalApplications.getCurrentFlowNodeId()
                            .equals(approvalFlowNodes.get(i).getId())) {
                        approvalApplications.setCurrentFlowNodeId(approvalFlowNodes.get(i + 1).getId());
                        OaApprovalFlowNode oaApprovalFlowNode1 = approvalFlowNodeService.getById(approvalFlowNodes.get(i + 1).getId());
                        approvalTodoService.createApprovalTodos(approvalApplications.getId(),
                                approvalApplications.getApplicationCode(), oaApprovalFlowNode1, approvalApplications.getDeptId());
                    }
                }
            }
        }
        return R.ok();
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalFlowNodeServiceImpl.java
@@ -3,8 +3,10 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.entity.TDept;
import com.ruoyi.system.mapper.OaApprovalFlowNodeMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.mapper.TDeptMapper;
import com.ruoyi.system.model.OaApprovalFlowNode;
import com.ruoyi.system.query.ApprovalNodeListQuery;
import com.ruoyi.system.service.OaApprovalFlowNodeService;
@@ -29,19 +31,34 @@
    @Autowired
    private SysUserMapper sysUserMapper;
    @Autowired
    private TDeptMapper deptMapper;
    @Override
    public List<OaApprovalFlowNode> pageList(ApprovalNodeListQuery query) {
        List<SysUser> sysUsers = sysUserMapper.selectList();
        Map<Long, String> deptMaps = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, SysUser::getNickName));
        Map<Long, String> userMaps = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, SysUser::getNickName));
        Map<Integer, String> deptMaps = deptMapper.selectList(null).stream().collect(Collectors.toMap(TDept::getId, TDept::getDeptName));
        List<OaApprovalFlowNode> oaApprovalFlowNodes = this.baseMapper.selectList(new LambdaQueryWrapper<OaApprovalFlowNode>()
                .eq(OaApprovalFlowNode::getApprovalId, query.getId()));
        for (OaApprovalFlowNode approvalVO : oaApprovalFlowNodes) {
            StringBuilder approvalName = new StringBuilder();
            if (approvalVO.getApprovalType() != 0){
                for (String approvalId : approvalVO.getApprovalIds().split(",")) {
                    String orDefault = deptMaps.getOrDefault(Long.valueOf(approvalId), "");
                    approvalName.append(orDefault).append(",");
                if (approvalVO.getApprovalType() == 2){
                    for (String approvalId : approvalVO.getApprovalIds().split(",")) {
                        String orDefault = userMaps.getOrDefault(Long.valueOf(approvalId), "");
                        if (StringUtils.hasLength(orDefault)){
                            approvalName.append(orDefault).append(",");
                        }
                    }
                }else{
                    for (String approvalId : approvalVO.getApprovalIds().split(",")) {
                        String orDefault = deptMaps.getOrDefault(Integer.valueOf(approvalId), "");
                        if (StringUtils.hasLength(orDefault)){
                            approvalName.append(orDefault).append(",");
                        }
                    }
                }
                if (StringUtils.hasLength(approvalName)){
                    approvalVO.setApprovalName(approvalName.substring(0,approvalName.length()-1));
                }else{