package com.cku.checker;

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.mysql.jdbc.Connection;
import com.thinkgem.jeesite.common.utils.DateUtils;

public class 更新年费生效与缴费时间 {
	
	public static void doWork() throws SQLException{
		String sql = "select *,max(charge_date) as zuida,min(charge_date) as zuixiao from sa_payment_detail where create_date>'2017-09-01'"
				+ "and charge_item_id in ('cab4','cab7','cab9','cab10','cab74','cab75','cab80','cab97','cab98') and type ='cab' "
				+ "group by running_number";
		PreparedStatement p = getConn().prepareStatement(sql);
		ResultSet result = p.executeQuery();
		int i =0;
		
		Connection conn =getConn();
		conn.setAutoCommit(false);
	    Statement state = (Statement) conn.createStatement();
		while(result.next()){
			Date zuida = result.getTimestamp("zuida");
			Date zuixiao = result.getTimestamp("zuixiao");
			Date createDate = result.getTimestamp("create_date");
			String runningNumber = result.getString("running_number");
			System.out.println((i++)+":"+DateUtils.formatDateTime(zuida)+"----"+DateUtils.formatDate(zuixiao)+"------"+DateUtils.formatDateTime(createDate));
			String updateSql = "update sa_payment_detail set payment_time='" + DateUtils.formatDateTime(zuixiao) +"' where running_number = '"+runningNumber+"' and charge_item_id in ('cab4','cab7','cab9','cab10','cab74','cab75','cab80','cab97','cab98')";
			state.addBatch(updateSql);
		}
		
		state.executeBatch();
 	    conn.commit();
	}

	
	private static Connection getConn() {
	    String driver = "com.mysql.jdbc.Driver";
	    String url = "jdbc:mysql://192.168.18.152:3306/fhb_temp_20170920?useUnicode=true&characterEncoding=utf-8";
	    String username = "root";
	    String password = "123456";
	    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;
	}
	
	public static void main(String args[]){
		try {
			doWork();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
