private List<OrganLeaderBo> getComLeaderList(String result) {
   List<OrganLeaderBo> list = new ArrayList<OrganLeaderBo>();
   Type listType = new TypeToken<ArrayList<OrganLeaderBo>>() {}.getType();
   list = gson.fromJson(result, listType);
   for (OrganLeaderBo bo : list) {
     bo.leaderLoginName = LoginUtil.getUserLoginName(bo.leaderLoginName);
     bo.secretaryLoginName = LoginUtil.getUserLoginName(bo.secretaryLoginName);
     bo.init();
   }
   // log.debug("getDeptList:"+list.size());
   // log.debug(result);
   return list;
 }
  @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;
  }
 private List<OrganUserBo> getUserList(String result) {
   List<OrganUserBo> list = new ArrayList<OrganUserBo>();
   Type listType = new TypeToken<ArrayList<OrganUserBo>>() {}.getType();
   list = gson.fromJson(result, listType);
   for (int i = 0; list != null && i < list.size(); i++) {
     OrganUserBo bo = list.get(i);
     bo.loginName = LoginUtil.getUserLoginName(bo.loginName);
   }
   return list;
 }
  @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;
  }