public QinZiYouDIYReportVo getZhongXinQinZiYouDIYReport() throws Exception {
    log.info("Enter ZhongXinQinZiYouDIY getZhongXinQinZiYouDIYReport");

    QinZiYouDIYReportVo vo = new QinZiYouDIYReportVo();
    List<ConsumeData> list = null;

    Connection appconn = null;

    try {
      Class.forName("oracle.jdbc.driver.OracleDriver");
      appconn = DbConnectionFactory.getInstance().getConnection("posapp");

      // get all chinalife member consume in shop 中信亲子DIY
      List<ConsumeData> allclList = getAllChinaLifeMemberConsumeDateInZXQZYDIY(appconn);
      if (allclList == null || (allclList != null && allclList.size() == 0)) {
        log.info("no chinalife member consume in zhongxinqingziDIY return 0");
        return vo;
      }

      LinkedHashSet<String> memberTxIds = new LinkedHashSet<String>();

      for (ConsumeData data : allclList) {
        memberTxIds.add(data.getMemberTxId());
      }

      log.info("getZhongXinQinZiYouDIYReport memberTxIds size is " + memberTxIds.size());

      list = getReportData(appconn, memberTxIds);

      vo.setData(list);

      Map<String, Integer> map = getReportSumData(appconn, memberTxIds);

      vo.setDatasum(map);

    } catch (ClassNotFoundException e) {
      e.printStackTrace();
      throw new Exception(e);
    } catch (SQLException e) {
      e.printStackTrace();
      throw new Exception(e);
    } finally {

      if (appconn != null) {
        SqlUtil.close(appconn);
        appconn = null;
      }
    }

    log.info("Exit ZhongXinQinZiYouDIY getZhongXinQinZiYouDIYReport");
    return vo;
  }