package com.cku.checker; import java.io.FileOutputStream; import java.io.IOException; import java.math.BigDecimal; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import com.cku.oa.finance.entity.PaymentRecord; import com.cku.oa.statistics.entity.SaPaymentDetail; import com.mysql.jdbc.Connection; import com.mysql.jdbc.PreparedStatement; import com.thinkgem.jeesite.common.utils.DateUtils; import com.thinkgem.jeesite.common.utils.IdGen; /** * @author fanhuibin * */ public class exportChaizhang { /** * @throws SQLException */ public void chipPayment() throws SQLException{ // 第一步,创建一个webbook,对应一个Excel文件 HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet uc = wb.createSheet("会员1"); HSSFSheet uc2 = wb.createSheet("会员2"); HSSFCellStyle style = wb.createCellStyle(); style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式 HSSFRow row = uc.createRow((int) 0); HSSFCell cell = row.createCell((short) 0); cell.setCellValue("会员号"); cell.setCellStyle(style); cell = row.createCell((short) 1); cell.setCellValue("姓名"); cell.setCellStyle(style); cell = row.createCell((short) 2); cell.setCellValue("身份证号"); cell.setCellStyle(style); row = uc2.createRow((int) 0); cell = row.createCell((short) 0); cell.setCellValue("会员号"); cell.setCellStyle(style); cell = row.createCell((short) 1); cell.setCellValue("姓名"); cell.setCellStyle(style); cell = row.createCell((short) 2); cell.setCellValue("身份证号"); cell.setCellStyle(style); Map result = new HashMap(); Connection conn = getConn(); //select c.member,y.* from huiyuan y left join ProfileCsv c on y.member_code = c.membernumber String sql = "select l.member,l.first_name,y.card_no from csv_profile_layer l left join ProfileCsv c on l.member = c.member left join huiyuan y on y.member_code = c.membernumber "; PreparedStatement pstmt = (PreparedStatement)conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); int i = 0; while (rs.next()){ String memberCode = rs.getString(1); String name = rs.getString(2); String cardNo = rs.getString(3); cardNo = getCardNo(cardNo); if(i<60000){ HSSFRow row2 = uc.createRow((int) (i+1)); HSSFCell cell2 = row2.createCell((short) (0)); cell2.setCellValue(memberCode); cell2 = row2.createCell((short) 1); cell2.setCellValue(name); cell2 = row2.createCell((short) 2); cell2.setCellValue(cardNo); }else{ HSSFRow row2 = uc2.createRow((int) (i-60000+1)); HSSFCell cell2 = row2.createCell((short) (0)); cell2.setCellValue(memberCode); cell2 = row2.createCell((short) 1); cell2.setCellValue(name); cell2 = row2.createCell((short) 2); cell2.setCellValue(cardNo); } i++; } // 第六步,将文件存到指定位置 try { FileOutputStream fout = new FileOutputStream("E:/csv会员信息.xls"); wb.write(fout); fout.close(); } catch (Exception e) { e.printStackTrace(); } } private String getCardNo(String card){ if(card!=null && card.length() == 18){ card = card.substring(0, 6)+"********"+card.substring(14); } return card; } public void exportShoufei() throws SQLException{ //查询收费项目对应关系 String sql = "select * from sa_relation_ship"; //查询收费项表 String sql1 = "select * from payment_charging_item"; //查询新收费项表 String sql2 = "select * from sa_cab_payment_item"; //查询新收费项 String sql3 = "select * from sa_cku_payment_item"; PreparedStatement pstmt; PreparedStatement pstmt1; PreparedStatement pstmt2; PreparedStatement pstmt3; pstmt = (PreparedStatement)getConn().prepareStatement(sql); pstmt1 = (PreparedStatement)getConn().prepareStatement(sql1); pstmt2 = (PreparedStatement)getConn().prepareStatement(sql2); pstmt3 = (PreparedStatement)getConn().prepareStatement(sql3); ResultSet rs = pstmt.executeQuery(); List relation = new ArrayList(); while (rs.next()){ Map map = new HashMap(); String id = rs.getString("id"); String cab = rs.getString("CAB"); String cku = rs.getString("CKU"); map.put("id", id); map.put("cab", cab); map.put("cku", cku); relation.add(map); } ResultSet rs1 = pstmt1.executeQuery(); List oldCharge = new ArrayList(); while (rs1.next()){ Map map = new HashMap(); String id = rs1.getString("id"); String name = rs1.getString("name"); String price = rs1.getString("price"); map.put("id", id); map.put("name", name); map.put("price", price); oldCharge.add(map); } ResultSet rs2 = pstmt2.executeQuery(); List cabCharge = new ArrayList(); while (rs2.next()){ Map map = new HashMap(); String id = rs2.getString("id"); String name = rs2.getString("charging_item_name"); String price = rs2.getString("price"); map.put("id", id); map.put("name", name); map.put("price", price); cabCharge.add(map); } ResultSet rs3 = pstmt3.executeQuery(); List ckuCharge = new ArrayList(); while (rs3.next()){ Map map = new HashMap(); String id = rs3.getString("id"); String name = rs3.getString("charging_item_name"); String price = rs3.getString("price"); map.put("id", id); map.put("name", name); map.put("price", price); ckuCharge.add(map); } for(Map map:relation){ String id = (String) map.get("id"); String cku = (String) map.get("cku"); String cab = (String) map.get("cab"); String ckuNames = ""; String cabNames = ""; String oldNames = ""; for(Map old: oldCharge){ String oldName = (String) old.get("name"); String oldId = (String) old.get("id"); String oldPrice = (String)old.get("price"); if(oldId.equals(id)){ oldNames = oldName+"("+oldPrice+")"; } } if(StringUtils.isNotEmpty(cku)&&cku.contains(",")){ String[] ckus = cku.split(","); for(String s:ckus){ for(Map ckuMap :ckuCharge){ String ckuId = (String) ckuMap.get("id"); String ckuName = (String) ckuMap.get("name"); String ckuPrice = (String) ckuMap.get("price"); if(ckuId.equals(s)){ ckuNames+=ckuName+"("+ckuPrice+")"; } } } }else if(StringUtils.isNotEmpty(cku)){ for(Map ckuMap :ckuCharge){ String ckuId = (String) ckuMap.get("id"); String ckuName = (String) ckuMap.get("name"); String ckuPrice = (String) ckuMap.get("price"); if(ckuId.equals(cku)){ ckuNames+=ckuName+"("+ckuPrice+")"; } } } if(StringUtils.isNotEmpty(cab)&&cab.contains(",")){ String[] cabs = cab.split(","); for(String s:cabs){ for(Map cabMap :cabCharge){ String cabId = (String) cabMap.get("id"); String cabName = (String) cabMap.get("name"); String cabPrice = (String) cabMap.get("price"); if(cabId.equals(s)){ cabNames+=cabName+"("+cabPrice+")"; } } } }else if(StringUtils.isNotEmpty(cab)){ for(Map cabMap :cabCharge){ String cabId = (String) cabMap.get("id"); String cabName = (String) cabMap.get("name"); String cabPrice = (String) cabMap.get("price"); if(cabId.equals(cab)){ cabNames +=cabName+"("+cabPrice+")"; } } } System.out.println(oldNames+","+ckuNames+","+cabNames); } } public static void main(String args[]) throws SQLException{ exportChaizhang cs = new exportChaizhang(); //cs.chipPayment(); //System.out.println(cs.getCardNo("140702198701087056")); cs.exportShoufei(); } private static Connection getConn() { String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://192.168.18.203:3306/ckuoa?useUnicode=true&characterEncoding=utf-8"; String username = "root"; String password = "Chongaibao123"; Connection conn = null; try { Class.forName(driver); //classLoader,加载对应驱动 conn = (Connection) DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } }