@SuppressWarnings({"rawtypes", "unchecked"})
  private boolean flowDispatcher() {
    String taskUserLoginName = LoginUtil.getUserLoginName(userInfo);
    String cname = params.getProcessParamValue("cname");
    String cincident = params.getProcessParamValue("cincident");
    String steplabel = params.getProcessParamValue("steplabel");
    // log.debug("processParams.size="+params.processParam.size());
    this.vo.initList();
    String summary = FlowUtil.getSummaryByProcessInfo(cname, cincident);

    Map map = new HashMap();

    if (vo.getDealPersonList().size() > 0) {
      FlowUtil.putUltimusMap("部门处理人帐号", vo.getDealPersonList(), map);
    }
    map.put("部门处理人姓名汇总", vo.getDealPersonList().size());

    map.put("部门领导帐号", vo.getDealLeaderList());
    map.put("部门领导姓名", vo.getDealLeaderList().size());

    map.put("当前步骤名", steplabel);

    boolean flag =
        ProcessUtil.launchProcessStep(
            cname, taskUserLoginName, Integer.parseInt(cincident), steplabel, summary, "", map);

    return flag;
  }
  @SuppressWarnings({"unchecked", "rawtypes"})
  private boolean flowLeaderDeal() {
    // log.debug("flowLeaderDeal");
    String taskUserLoginName = LoginUtil.getUserLoginName(userInfo);
    String pname = params.getProcessParamValue("pname");
    String cname = params.getProcessParamValue("cname");
    String cincident = params.getProcessParamValue("cincident");
    String steplabel = params.getProcessParamValue("steplabel");
    String choice = StringUtil.getNotNullValueString(vo.getChoice());
    String choice2 = StringUtil.getNotNullValueString(vo.getChoice2());
    String summary = FlowUtil.getSummaryByProcessInfo(cname, cincident);
    this.vo.initList();
    Map map = new HashMap();

    String recvId = "";
    List<OrganUserBo> userBoList =
        externalService.getProcessReceivers(
            pname, DeptSubStepConstants.STEPNAME_DISPATCHER, userInfo.getDeptId());
    if (userBoList != null && userBoList.size() > 0) {
      recvId = userBoList.get(0).loginName;
    }
    if (DeptSubConstants.CHOICE_LEADER_PASS.equals(choice)) {
      map.put("部门处理人姓名汇总", 0);
      map.put("部门领导姓名", 0);
    } else if (DeptSubConstants.CHOICE_LEADER_FAILED.equals(choice)) {
      map.put("部门处理人姓名汇总", 0);
      map.put("部门领导姓名", 0);
    } else if (DeptSubConstants.CHOICE_LEADER_CONTINUE.equals(choice)) {
      if (DeptSubConstants.CHOICE_LEADER_CONTINUE_DEAL.equals(choice2)) {
        map.put("返回修改", "1");
        map.put("部门接收人帐号", recvId);
      } else if (DeptSubConstants.CHOICE_LEADER_CONTINUE_CHOICE_PERSON.equals(choice2)) {
        if (vo.getDealPersonList().size() > 0) {
          FlowUtil.putUltimusMap("部门处理人帐号", vo.getDealPersonList(), map);
        }
        map.put("部门处理人姓名汇总", vo.getDealPersonList().size());

        if (vo.getDealLeaderList().size() > 0) {
          map.put("部门领导帐号", vo.getDealLeaderStr());
        }
        map.put("部门领导姓名", vo.getDealLeaderList().size());
        map.put("部门接收人帐号", recvId);
      }
    }

    // boolean flag = false;

    boolean flag =
        ProcessUtil.launchProcessStep(
            cname, taskUserLoginName, Integer.parseInt(cincident), steplabel, summary, "", map);

    return flag;
  }
  private boolean flowDeal() {
    String taskUserLoginName = LoginUtil.getUserLoginName(userInfo);
    String cname = params.getProcessParamValue("cname");
    String cincident = params.getProcessParamValue("cincident");
    String steplabel = params.getProcessParamValue("steplabel");
    String summary = FlowUtil.getSummaryByProcessInfo(cname, cincident);

    boolean flag =
        ProcessUtil.launchProcessStep(
            cname,
            taskUserLoginName,
            Integer.parseInt(cincident),
            steplabel,
            summary,
            "",
            new HashMap<String, Object>());

    return flag;
  }