/**
   * 根据ID返回详细信息
   *
   * @param
   * @return
   * @throws
   */
  public List treeList(IBaseDTO dto, PageInfo pi, String id) {

    List list = new ArrayList();

    LeafRightSearch lrs = new LeafRightSearch();

    Object[] result = (Object[]) dao.findEntity(lrs.treeList(dto, pi, id));
    num = dao.findEntitySize(lrs.treeList(dto, pi, id));
    for (int i = 0, size = result.length; i < size; i++) {
      SysLeafRight slr = (SysLeafRight) result[i];
      DynaBeanDTO dbd = new DynaBeanDTO();

      dbd.set("id", slr.getId());
      dbd.set("treeId", slr.getId());
      dbd.set("treeType", slr.getType());
      dbd.set("label", slr.getLabel());
      dbd.set("nickName", slr.getNickName());
      String remark = slr.getRemark() == null ? "" : slr.getRemark();
      if (remark.length() > 15) {
        remark = remark.substring(0, 15);
      }
      dbd.set("remark", remark);
      dbd.set("icon", slr.getIcon());
      list.add(dbd);
    }
    return list;
  }
 private IBaseDTO createDTOByPo(SysUser su) {
   DynaBeanDTO dto = new DynaBeanDTO();
   dto.set("password", su.getPassword());
   dto.set("userId", su.getUserId());
   dto.set("sysRole", su.getSysRole().getId());
   dto.set("sysGroup", su.getSysGroup().getId());
   dto.set("userName", su.getUserName());
   dto.set("departmentId", su.getSysDepartment().getId());
   dto.set("freezeMark", su.getDeleteMark());
   dto.set("remark", su.getRemark());
   return dto;
 }
  public List<DynaBeanDTO> query(IBaseDTO dto) {
    // TODO Auto-generated method stub

    List<DynaBeanDTO> list = new ArrayList<DynaBeanDTO>();
    // 调用存储过程取得统计结果
    StatDateStr.setBeginEndTime(dto);
    List<String> params = new ArrayList<String>();
    List results = new ArrayList();
    String qType = dto.get("qtype") == null ? "" : dto.get("qtype").toString().trim();
    if ("统计日期次数".equals(qType) || "统计日期时长".equals(qType)) {
      procSql.setProcedureName("proc_ivrdataByDate");
    } else {
      procSql.setProcedureName("proc_ivrdata");
    }
    params.add(dto.get("beginTime").toString());
    params.add(dto.get("endTime").toString());
    params.add(dto.get("qtype").toString());

    try {
      procSql.setSqlvalues(params);
    } catch (Exception e) {
      // TODO: handle exception
      //			System.out.println(e.getStackTrace());
    }

    results = procSql.execute();
    // 对存储过程返回的的结果进行分拣
    List<String> xAxis = getXaxis(results);
    List<String> yAxis = getYaxis(results);
    List<String> valueList = getValues(results, xAxis, yAxis);
    int num = 0;
    if (xAxis.size() > 0 && yAxis.size() > 0) {
      for (Iterator<String> i = xAxis.iterator(); i.hasNext(); ) {
        String tmp = i.next();
        DynaBeanDTO r = new DynaBeanDTO();
        /*计算总量*/
        int sum = Integer.parseInt(valueList.get(xAxis.indexOf(tmp) * yAxis.size()));
        num += sum;
        String snum = String.valueOf(num);
        if (snum.equals("") || snum == null) {
          num = 0;
        }
        Set set = ivrModule.keySet();
        // System.out.println("ivr ..... "+set.contains(tmp));
        if (set.contains(tmp)) r.set("IVRmodule", ivrModule.get(tmp));
        else r.set("IVRmodule", tmp);

        if (dto.get("qtype").toString().indexOf("次数") != -1) {
          r.set("count", valueList.get(xAxis.indexOf(tmp) * yAxis.size()) + "次");
          r.set("num", num + "次");
        } else {
          r.set("count", valueList.get(xAxis.indexOf(tmp) * yAxis.size()) + "秒");
          r.set("num", num + "秒");
        }

        list.add(r);
      }
    }
    return list;
  }
 /**
  * PO to DTO
  *
  * <p>
  *
  * @description:ResourceUse to DynaBeanDTO
  * @return
  */
 private DynaBeanDTO ResourceUsetoDTO(ResourceUse resourceUse) {
   DynaBeanDTO dto = new DynaBeanDTO();
   dto.set("name", resourceUse.getResourceInfo().getResourceName());
   dto.set("useDate", TimeUtil.getTheTimeStr(resourceUse.getDateArea(), "yyyy-MM-dd"));
   dto.set("timeArea", resourceUse.getTimeArea());
   dto.set("applyUser", resourceUse.getUserName());
   if ("0".equals(resourceUse.getResourceState())) {
     dto.set("state", "未审批");
   } else if ("1".equals(resourceUse.getResourceState())) {
     dto.set("state", "待审批");
   } else {
     dto.set("state", "已批准");
   }
   dto.set("principalName", resourceUse.getPrincipalName());
   return dto;
 }
  public List<DynaBeanDTO> query(IBaseDTO dto) {
    // TODO Auto-generated method stub
    List<DynaBeanDTO> list = new ArrayList<DynaBeanDTO>();
    // 调用存储过程取得统计结果
    StatDateStr.setBeginEndTime(dto);
    List<String> params = new ArrayList<String>();
    List results = new ArrayList();
    procSql.setProcedureName("proc_productPriceStatisticsByState");
    params.add(dto.get("beginTime").toString());
    params.add(dto.get("endTime").toString());
    params.add(dto.get("caseRid").toString());
    procSql.setSqlvalues(params);
    results = procSql.execute();

    // 对存储过程返回的的结果进行分拣
    List<String> xAxis = getXaxis(results);
    List<String> yAxis = getYaxis(results);
    List<String> valueList = getValues(results, xAxis, yAxis);
    if (xAxis.size() > 0 && yAxis.size() > 0) {
      for (Iterator<String> i = xAxis.iterator(); i.hasNext(); ) {
        String tmp = i.next();
        DynaBeanDTO r = new DynaBeanDTO();
        r.set("name", tmp);
        if (valueList.size() > xAxis.indexOf(tmp) * yAxis.size())
          r.set("type1", valueList.get(xAxis.indexOf(tmp) * yAxis.size()));
        else r.set("type1", "");
        //			r.set("type2", valueList.get(xAxis.indexOf(tmp)
        //							* yAxis.size() + 1));
        //			r.set("type3", new Integer(Integer.parseInt(valueList.get(xAxis
        //					.indexOf(tmp)
        //					* yAxis.size()))
        //					+ Integer.parseInt(valueList.get(xAxis.indexOf(tmp)
        //							* yAxis.size() + 1))));
        list.add(r);
      }
    }
    return list;
  }
  /**
   * 会议室查询页DTO
   *
   * @param info
   * @return
   */
  private DynaBeanDTO ResourceInfoToDTO(ResourceInfo info) {
    StringBuffer meetingThing = new StringBuffer();
    StringBuffer meetingRemark = new StringBuffer();

    DynaBeanDTO dto = new DynaBeanDTO();
    dto.set("meetingId", info.getId());
    dto.set("meetingName", info.getResourceName());
    if (info.getResourceState().length() > 10) {
      meetingThing.append(info.getResourceState().substring(0, 10)).append("……");
    } else {
      meetingThing.append(info.getResourceState());
    }

    if (info.getRemark().length() > 6) {
      meetingRemark.append(info.getRemark().substring(0, 6)).append("……");
    } else {
      meetingRemark.append(info.getRemark());
    }
    dto.set("meetingThing", meetingThing.toString());
    dto.set("meetingPrincipal", info.getPrincipalId());
    dto.set("meetingRemark", meetingRemark.toString());
    return dto;
  }
  /**
   * 会议室信息更新DTO
   *
   * @param info
   * @return
   */
  private DynaBeanDTO ResourceUpdateInfoToDTO(ResourceInfo info) {

    DynaBeanDTO dto = new DynaBeanDTO();
    dto.set("meetingId", info.getId());
    dto.set("meetingName", info.getResourceName());
    dto.set("meetingThing", info.getResourceState());
    dto.set("meetingPrincipal", info.getPrincipalId());
    dto.set("meetingRemark", info.getRemark());
    return dto;
  }
 /**
  * 得到叶子节点权限列表
  *
  * @param nodeId
  * @return List<SysLeafRight>
  */
 public List<DynaBeanDTO> getLeafRightByNodeId(String nodeId) {
   List<DynaBeanDTO> rights = new ArrayList<DynaBeanDTO>();
   if (nodeId != null) {
     String hql = "from SysLeafRight where a.baseTree.id = '" + nodeId + "' order by a.nickName";
     MyQuery mq = new MyQueryImpl();
     mq.setHql(hql);
     Object[] o = dao.findEntity(searchHelp.searchLeafRightByNodeId(nodeId));
     DynaBeanDTO dto = null;
     for (int i = 0; i < o.length; i++) {
       dto = new DynaBeanDTO();
       SysLeafRight right = (SysLeafRight) o[i];
       dto.set("id", right.getId());
       dto.set("treeId", right.getBaseTree().getId());
       dto.set("treeName", right.getBaseTree().getLabel());
       dto.set("type", right.getType());
       dto.set("nickName", right.getNickName());
       dto.set("deleteMark", right.getDeleteMark());
       dto.set("remark", right.getRemark());
       rights.add(dto);
     }
   }
   return rights;
 }
 /**
  * PO to DTO
  *
  * <p>
  *
  * @description:EmployeeInfo to DynaBeanDTO
  * @param employeeInfo
  * @return
  */
 private DynaBeanDTO employeeInfoToDyna(EmployeeInfo employeeInfo) {
   DynaBeanDTO dynaDTO = new DynaBeanDTO();
   dynaDTO.set("employeeId", employeeInfo.getName());
   dynaDTO.set("name", employeeInfo.getName());
   return dynaDTO;
 }