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; }
public List<ConsumeData> getAllChinaLifeMemberConsumeDateInZXQZYDIY(Connection appconn) throws Exception { log.info("Enter ZhongXinQinZiYouDIY getAllChinaLifeMemberConsumeDateInZXQZYDIY"); boolean createConn = false; if (appconn == null) { Class.forName("oracle.jdbc.driver.OracleDriver"); appconn = DbConnectionFactory.getInstance().getConnection("posapp"); createConn = true; } List<ConsumeData> list = new ArrayList<ConsumeData>(); ResultSet rs = null; PreparedStatement pstmt = null; String sql = "select cp.membercardid,cp.shopname,cp.amountcurrency,cp.point,cp.producttypename,cp.transdate,cp.tempmembertxid from clubpoint cp where cp.membercardid like '95519%' and clubid = '00' and shopid = '5381' order by transdate desc"; log.info("getAllchinalife member in ZXQZYDIY sql is" + sql); pstmt = appconn.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); rs = pstmt.executeQuery(); while (rs.next()) { ConsumeData data = new ConsumeData(); String memberCardNo = rs.getString(1); String shopName = rs.getString(2); float consumeMoney = rs.getFloat(3); float point = rs.getFloat(4); String consumeType = rs.getString(5); Date transDate = rs.getDate(6); String memberTxId = rs.getString(7); data.setMemberCardNo(memberCardNo); data.setConsumeMoney(consumeMoney); data.setConsumeType(consumeType); data.setPoint(point); data.setShopName(shopName); data.setTransDate(transDate); data.setMemberTxId(memberTxId); list.add(data); } if (rs != null) rs.close(); if (pstmt != null) pstmt.close(); if (createConn && (appconn != null)) { SqlUtil.close(appconn); appconn = null; } log.info( "Exit ZhongXinQinZiYouDIY getAllChinaLifeMemberConsumeDateInZXQZYDIY list size is " + list.size()); return list; }
public List<ConsumeData> getReportData(Connection appconn, LinkedHashSet<String> memberTxIds) throws SQLException { log.info("Enter ZhongXinQinZiYouDIY getReportData"); List<ConsumeData> list = new ArrayList<ConsumeData>(); StringBuffer sqlbuf = new StringBuffer(); int i = 0; int size = memberTxIds.size(); ResultSet rs = null; PreparedStatement pstmt = null; sqlbuf .append( "select cp.id,cp.membercardid,cp.shopid,cp.shopname,cp.amountcurrency,cp.point,cp.producttypename,cp.transdate,cp.tempmembertxid from clubpoint cp where clubid = '00' and shopid = '1362' and ") .append( "((cp.transdate >= to_date('2010-08-08 00:00:01','yyyy-MM-dd HH24:mi:ss') and cp.transdate < to_date('2010-08-08 23:59:59','yyyy-MM-dd HH24:mi:ss')) or ") .append( "(cp.transdate >= to_date('2010-08-14 00:00:01','yyyy-MM-dd HH24:mi:ss') and cp.transdate < to_date('2010-08-14 23:59:59','yyyy-MM-dd HH24:mi:ss')) or ") .append( "(cp.transdate >= to_date('2010-08-15 00:00:01','yyyy-MM-dd HH24:mi:ss') and cp.transdate < to_date('2010-08-15 23:59:59','yyyy-MM-dd HH24:mi:ss'))) and cp.tempmembertxid in ("); for (String txId : memberTxIds) { ++i; sqlbuf.append("'").append(txId).append("'"); if (i < size) { sqlbuf.append(","); } } sqlbuf.append(" ) order by membercardid,shopid,transdate desc"); log.info("ZhongXinQinZiYouDIY getReportData sql is " + sqlbuf.toString()); pstmt = appconn.prepareStatement( sqlbuf.toString(), ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); rs = pstmt.executeQuery(); while (rs.next()) { ConsumeData data = new ConsumeData(); String clubpointId = rs.getString(1); String memberCardNo = rs.getString(2); String shopName = rs.getString(3); float consumeMoney = rs.getFloat(4); float point = rs.getFloat(5); String consumeType = rs.getString(6); Date transDate = rs.getDate(7); String memberTxId = rs.getString(8); data.setClubpointId(clubpointId); data.setMemberCardNo(memberCardNo); data.setConsumeMoney(consumeMoney); data.setConsumeType(consumeType); data.setPoint(point); data.setShopName(shopName); data.setTransDate(transDate); data.setMemberTxId(memberTxId); list.add(data); } if (rs != null) rs.close(); if (pstmt != null) pstmt.close(); log.info("Exit ZhongXinQinZiYouDIY getReportData list size is " + list.size()); return list; }