ProcessTest.java 5.4 KB
Newer Older
苗卫卫 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
package com.boco.nbd.wios.flow;

import cn.hutool.core.util.StrUtil;
import com.boco.nbd.framework.common.ResponseMessage2;
import com.boco.nbd.framework.workflow.entity.SubmitTypeEnum;
import com.boco.nbd.framework.workflow.entity.exception.FlowException;
import com.boco.nbd.framework.workflow.flow.AbstractFlow;
import com.boco.nbd.framework.workflow.service.WorkflowService;
import com.boco.nbd.wios.BaseTest;
import com.boco.nbd.wios.flow.entity.FlowConstant;
import com.boco.nbd.wios.flow.entity.bo.LocalSubmitFlowBO;
import com.boco.nbd.wios.flow.entity.po.OrderPO;
import com.boco.nbd.wios.flow.enums.FlowNodeEnum;
import com.boco.nbd.wios.flow.service.IOrderService;
import com.boco.nbd.wios.flow.util.ProcessUtil;
import com.boco.nbd.wios.manage.util.NumberUtil;
import lombok.extern.slf4j.Slf4j;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

/**
 * @author:cao hai
 * @date:2022/6/29 17:34
 * @version:V1.0
 * @description:ProcessTest
 * @modify:
 */
@Slf4j
public class ProcessTest extends BaseTest {

    @Autowired
    private IOrderService orderService;

    @Autowired
    protected WorkflowService flowService;


    @Test
    public void testGetRegionQo() {
        System.out.println("结果:" + orderService.getRegionQo("159,170"));
    }


    /**
     * 测试流转
     */
    @Test
    public void testSubmitFlow() {
        ResponseMessage2<Boolean> responseMessage2 = orderService.submitFlow(getStartFlow());
        Assert.assertTrue(responseMessage2.getStatus() == 0);
    }

    /**
     * 流程启动
     *
     * @return
     */
    private LocalSubmitFlowBO getStartFlow() {
        LocalSubmitFlowBO bo = new LocalSubmitFlowBO();
        bo.setCurrentNode(FlowNodeEnum.NODE_START.getKey());
        bo.setNextNode(FlowNodeEnum.NODE_101.getKey());
        bo.setWorkId("CA20201204161327");
        bo.setSubmitUserId("1");
        bo.setLimitTime(new Date());
        List<String> userNames = new ArrayList<>(1);
        userNames.add("13661371987");
        bo.setUserNames(userNames);
        return bo;
    }

    /**
     * 测试启动
     */
    @Test
    public void testStartFlow() {
        LocalSubmitFlowBO bo = new LocalSubmitFlowBO();
        bo.setCurrentNodeEnum(FlowNodeEnum.NODE_START);
        bo.setCurrentNode(FlowNodeEnum.NODE_START.getKey());
        bo.setNextNode(FlowNodeEnum.NODE_101.getKey());
        bo.setNextNodeEnum(FlowNodeEnum.NODE_101);
        bo.setFlowCode(FlowConstant.FLOW_CODE);
        bo.setIsFinished(false);
        bo.setSubmitType(SubmitTypeEnum.StartFlow);
        bo.setWorkId("CA" + NumberUtil.getRandomOrderId(7));
        System.out.println(bo.getWorkId());
        OrderPO orderPO = new OrderPO();
        orderPO.setId(bo.getWorkId());
        orderPO.setOemId(91);
        bo.setBusiness(orderPO);
        bo.setSubmitUserId("1");
        List<String> userNames = new ArrayList<>(1);
        userNames.add("13661371987");
        bo.setTaskParam(new HashMap<>(1));
        bo.setUserNames(userNames);
        AbstractFlow processStart = ProcessUtil.getBaseProcess(bo.getCurrentNode());
        try {
            processStart.run(bo);
        } catch (FlowException ex) {
            System.out.println(" submitFlow FlowException:" + ex.getMessage());
        } catch (Exception ex) {
            System.out.println(" submitFlow Exception:" + ex.getMessage());
        }
        Assert.assertTrue(StrUtil.isNotEmpty(bo.getProcessInsId()));
    }

    /**
     * 测试101转移
     */
    @Test
    public void test101Transfer() {
        LocalSubmitFlowBO bo = new LocalSubmitFlowBO();
        bo.setCurrentNode(FlowNodeEnum.NODE_101.getKey());
        bo.setNextNode(FlowNodeEnum.NODE_101.getKey());
        bo.setSubmitUserId("13661371987");
        bo.setTaskId("6f46cc1d-f985-11ec-b696-00ff07dc8107");
        bo.setCommentMsg("测试工单转移");
        List<String> userNames = new ArrayList<>(1);
        userNames.add("13809768415");
        bo.setUserNames(userNames);
        AbstractFlow process = ProcessUtil.getBaseProcess(bo.getCurrentNode());
        process.run(bo);
        Assert.assertTrue(bo.getNextNodeEnum() != null);
    }

    /**
     * 测试101流转102
     */
    @Test
    public void test101to102() {
        LocalSubmitFlowBO bo = new LocalSubmitFlowBO();
        bo.setCurrentNode(FlowNodeEnum.NODE_101.getKey());
        bo.setNextNode(FlowNodeEnum.NODE_102.getKey());
        bo.setSubmitUserId("13809768415");
        bo.setTaskId("6f46cc1d-f985-11ec-b696-00ff07dc8107");
        List<String> userNames = new ArrayList<>(1);
        userNames.add("14700000001");
        bo.setUserNames(userNames);
        AbstractFlow process = ProcessUtil.getBaseProcess(bo.getCurrentNode());
        process.run(bo);
        Assert.assertTrue(bo.getNextNodeEnum() != null);
    }

    /**
     * 测试102归档
     */
    @Test
    public void test101toEnd() {
        LocalSubmitFlowBO bo = new LocalSubmitFlowBO();
        bo.setCurrentNode(FlowNodeEnum.NODE_102.getKey());
        bo.setNextNode(FlowNodeEnum.NODE_END.getKey());
        bo.setSubmitUserId("14700000001");
        bo.setTaskId("ff4eb7b6-f988-11ec-8946-00ff07dc8107");
        AbstractFlow process = ProcessUtil.getBaseProcess(bo.getCurrentNode());
        process.run(bo);
        Assert.assertTrue(bo.getNextNodeEnum() != null);
    }
}