| | |
| | | |
| | | |
| | | @Override |
| | | public void initApproveNodes(String id) { |
| | | public void initApproveNodes(String id,int deleteFlag) { |
| | | //租户id |
| | | Long tenantId = SecurityUtils.getLoginUser().getTenantId(); |
| | | |
| | | ApproveProcess approve = approveProcessService.getApproveById(id); |
| | | String[] names = approve.getApproveUserNames().split(","); |
| | | Long approveId = approve.getId(); |
| | | |
| | | for (int i = 0; i < names.length; i++) { |
| | | ApproveNode approveNode = new ApproveNode(); |
| | | approveNode.setApproveProcessId(approveId); |
| | |
| | | approveNode.setApproveNodeTime(new Date()); |
| | | approveNode.setApproveNodeStatus(0); |
| | | approveNode.setTenantId(tenantId); |
| | | approveNode.setDeleteFlag(0); |
| | | approveNode.setDeleteFlag(deleteFlag); |
| | | approveNode.setApproveNodeReason(null); |
| | | approveNode.setApproveNodeRemark("0"); |
| | | if(i==0){ |
| | | approveNode.setApproveNodeRemark("1"); |
| | | } |
| | | approveNodeMapper.insert(approveNode); |
| | | } |
| | | } |
| | |
| | | |
| | | LambdaQueryWrapper<ApproveNode> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(ApproveNode::getApproveProcessId, approveId); |
| | | queryWrapper.eq(ApproveNode::getDeleteFlag, 0); |
| | | |
| | | List<ApproveNode> list = list(queryWrapper); |
| | | // 按照 approveNodeOrder 字段升序排序 |
| | | list.sort(Comparator.comparingInt(ApproveNode::getApproveNodeOrder)); |
| | |
| | | ApproveProcess approveProcess = approveProcessService.getBaseMapper().selectById(approveProcessId); |
| | | approveProcess.setApproveOverTime(new Date()); |
| | | approveProcess.setApproveStatus(3); |
| | | //设置当前审批人为第一个 |
| | | approveProcess.setApproveUserCurrentId(Long.valueOf(approveProcess.getApproveUserIds().split(",")[0])); |
| | | approveProcess.setApproveUserCurrentName(approveProcess.getApproveUserNames().split(",")[0]); |
| | | approveProcessService.saveOrUpdate(approveProcess); |
| | | |
| | | //审批节点状态改变 |
| | | initApproveNodes(approveProcess.getApproveId()); |
| | | updateApproveNodes(approveProcess.getApproveId(),1); |
| | | initApproveNodes(approveProcess.getApproveId(),0); |
| | | |
| | | return; |
| | | } |
| | | //更新审批流程 |
| | | //更新审批流程 当前审批人修改 |
| | | approveProcessService.updateApproveProcessStatus(approveNode); |
| | | |
| | | //审批流程当前审批人修改 |
| | | //审批流程 节点状态改变 |
| | | ApproveNode node = getById(approveNode.getId()); |
| | | node.setApproveNodeRemark("0"); |
| | | node.setApproveNodeTime(new Date()); |
| | | node.setApproveNodeReason(approveNode.getApproveNodeReason()); |
| | | node.setApproveNodeStatus(approveNode.getApproveNodeStatus()); |
| | | approveNodeMapper.updateById(node); |
| | | |
| | | //下一个节点状态改变 |
| | | ApproveNode node1 = approveNodeMapper.selectById(approveNode.getId()); |
| | | Long approveProcessId = node1.getApproveProcessId(); |
| | | ApproveProcess approveProcess = approveProcessService.getBaseMapper().selectById(approveProcessId); |
| | | int length = approveProcess.getApproveUserIds().split(",").length; |
| | | |
| | | //此时是最后一个节点了 |
| | | if (length==node.getApproveNodeOrder()){ |
| | | return; |
| | | } |
| | | |
| | | LambdaQueryWrapper<ApproveNode> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(ApproveNode::getApproveNodeOrder, node.getApproveNodeOrder()+1); |
| | | queryWrapper.eq(ApproveNode::getApproveProcessId, node.getApproveProcessId()); |
| | | queryWrapper.eq(ApproveNode::getDeleteFlag, 0); |
| | | ApproveNode nextNode = getOne(queryWrapper); |
| | | nextNode.setApproveNodeRemark("1"); |
| | | approveNodeMapper.updateById(nextNode); |
| | | } |
| | | |
| | | private void updateApproveNodes(String id, int delFlag) { |
| | | ApproveProcess approve = approveProcessService.getApproveById(id); |
| | | Long approveId = approve.getId(); |
| | | LambdaQueryWrapper<ApproveNode> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(ApproveNode::getApproveProcessId, approveId); |
| | | List<ApproveNode> list = list(queryWrapper); |
| | | for (ApproveNode approveNode : list) { |
| | | approveNode.setDeleteFlag(delFlag); |
| | | approveNodeMapper.updateById(approveNode); |
| | | } |
| | | } |
| | | |
| | | } |